C++怎么编写程序界面

C++怎么编写程序界面,第1张

既可以用跨平台的图形库,比如 gtk, qt 之类的。也可以用 windows 提供的整套方法。

如果已经有比较好的 c++ 基础了,学习开发简单的 gui 程序也不是很难。

参考例子如下:

#include "stdafxh"

#include <windowsh>

#include <windowsxh>

#include "resourceh"

#include "MainDlgh"

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

switch(uMsg)

{

HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);

HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);

HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);

}

return FALSE;

}

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

{

return TRUE;

}

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

switch(id)

{

case IDC_OK:

{

TCHAR name[64],msg[128];

GetDlgItemText(hwnd,IDC_EDITNAME,name,sizeof(name));

wsprintf(msg,"%s,欢迎您注册!",name);

//sprintf 是打印到字符串中,相当于字符串后面再加上一串字符。

//wsprintf c语言开发windows程序时用wsprintf代替sprintf,用以解决中文等问题。

MessageBox(hwnd,msg,TEXT("提示"),MB_OK);

}

break;

case IDR_DEFAULT1:

{

MessageBox(hwnd,TEXT("即将!"),TEXT("提示"),MB_OK);

}

default:

break;

}

}

void Main_OnClose(HWND hwnd)

{

EndDialog(hwnd, 0);

}

c 语言 可以做出非常漂亮的界面。理论上界面只不过是计算机对每一个像素的控制而已。c 完全有这种能力,只不过较复杂。

这个例子看起来就很漂亮嘛。

#include<mathh>

#include<dosh>

#include<graphicsh>

#define CENTERX 320 /表盘中心位置/

#define CENTERY 175

#define CLICK 100 /喀嗒声频率/

#define CLICKDELAY 30 /喀嗒声延时/

#define HEBEEP 10000 /高声频率/

#define LOWBEEP 500 /低声频率/

#define BEEPDELAY 200 /报时声延时/

/表盘刻度形状/

int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, };

int Mrk_2[8]={-5,-160,5,-160,2,-130,-2-130, };

/时针形状/

int HourHand[8]={-3,-100,3,-120,4, 10,-4,10};

/分针形状/

int MiHand[8]={-3,-120,3,-120,4, 10,-4,10};

/秒针形状/

int SecHand[8]={-2,-150,2,-150,3, 10,-3,10};

/发出喀嗒声/

void Click()

{

sound(CLICK);

delay(CLICKDELAY);

nosound();

}

/高声报时/

void HighBeep()

{

sound(HEBEEP);

delay(BEEPDELAY);

nosound;

}

/低声报时/

void LowBeep()

{

sound(LOWBEEP);

}

/按任意角度画多边形/

void DrawPoly(int data,int angle,int color)

{

int usedata[8];

float sinang,cosang;

int i;

sinang=sin((float)angle/180314);

cosang=cos((float)angle/180314);

for(i=0;i<8;i+=2)

{

usedata[i] =CENTERX+ cosangdata[i]-sinangdata[i+1]+5;

usedata[i+1]=CENTERY+sinangdata[i]+cosangdata[i+1]+5;

}

setfillstyle(SOLID_FILL,color);

fillpoly(4,usedata);

}

/画表盘/

void DrawClock(struct time cutime)

{

int ang;

float hourrate,minrate,secrate;

setbkcolor(BLUE);

cleardevice();

setcolor(WHITE);

/ 画刻度/

for(ang=0;ang<360;ang+=90)

{

DrawPoly(Mrk_1,ang,WHITE);

DrawPoly(Mrk_2,ang+30,WHITE);

DrawPoly(Mrk_2,ang+60,WHITE);

}

secrate=(float)cutime->ti_sec/60;

minrate=((float)cutime->ti_min+secrate)/60;

hourrate=(((float)cutime->ti_hour/12)+minrate)/12;

ang=hourrate360;

DrawPoly(HourHand,ang,YELLOW);/画时针/

ang=minrate360;

DrawPoly(MiHand,ang, GREEN);/画分针/

ang=secrate360;

DrawPoly(SecHand,ang, RED);/画秒针/

}

main()

{

int gdriver=EGA,

gmode=EGAHI;

int curpage;

struct time curtime ,newtime ;

initgraph(&gdriver,&gmode,"c:\\tc");

setbkcolor(BLUE);

cleardevice();

gettime(&curtime);

curpage=0;

DrawClock(&curtime);

while(1)

{

if(kbhit())

break; /按任意键退出/

gettime(&newtime); /检测系统时间/

if(newtimeti_sec!=curtimeti_sec)/每1秒更新一次时间/

{

if(curpage==0)

curpage=1;

else

curpage=0;

curtime=newtime;

/设置绘图页/

setactivepage(curpage);

/在图页上画表盘/

DrawClock(&curtime);

/设置绘图页为当前可见页/

setvisualpage(curpage);

/0分0秒高声报时/

if(newtimeti_min==0&&newtimeti_sec==0)

HighBeep();

/ 59分55至秒时低声报时/

else if(newtimeti_min==59&&

newtimeti_sec<=59)

LowBeep();/其他时间只发出喀嗒声/

else

Click();

}

}

closegraph();

}

以上就是关于C++怎么编写程序界面全部的内容,包括:C++怎么编写程序界面、用C语言能把程序的界面做的很漂亮吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9337007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存