用c语言怎样做图形操作界面详细点,最好有代码
发布时间:2025-05-16 22:37:41 发布人:远客网络
一、用c语言怎样做图形操作界面详细点,最好有代码
/*以下程序在Visual C++ 6.0测试通过,能够出现一个正规的Windows窗口*/
#pragma comment(linker,"/SUBSYSTEM:Windows/ENTRY:mainCRTStartup")
char szClassName[ ]="WindowsApp";
/*这个函数由Windows内部函数DispatchMessage()调用*/
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
PostQuitMessage(0);/*发送WM_QUIT到消息队列*/
DrawText(hdc, TEXT("Hello, Windows NT!"),-1,&rect, DT_SINGLELINE| DT_CENTER| DT_VCENTER);
return DefWindowProc(hwnd, message, wParam, lParam);
HINSTANCE hThisInstance= GetModuleHandle(NULL);
MSG messages;/*应用程序的消息保存在这里*/
WNDCLAS* wincl;/*窗口类的数据结构*/
wincl.hInstance= hThisInstance;
wincl.lpszClassName= szClassName;
wincl.lpfnWndProc= WindowProcedure;/*这个函数由Windows操作系统调用*/
wincl.style= CS_DBLCLKS;/*获取双击指令*/
wincl.cbSize= sizeof(WNDCLAS*);
wincl.hIcon= LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm= LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor= LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName= NULL;/*没有菜单*/
wincl.cbCl*tra= 0;/*窗口类后面没有多余的字节*/
wincl.cbWndExtra= 0;/*结构或者窗口实例*/
/*使用窗口的默认颜色作为窗口的背景色*/
wincl.hbrBackground=(HBRUSH) COLOR_BACKGROUND;
/*注册窗口类。如果注册失败,那么就退出程序*/
/*窗口类已被注册。创建它的程序*/
"Windows App",/*窗口标题栏的文字*/
WS_OVERLAPPEDWINDOW,/*默认窗口*/
CW_USEDEFAULT,/*窗口左上角的位置*/
CW_USEDEFAULT,/*窗口右下角的位置*/
544,/*窗口宽度(以“像素”位单位)*/
375,/*窗口高度(以“像素”位单位)*/
HWND_DESKTOP,/*窗口是桌面的子窗口*/
hThisInstance,/*程序实例的句柄*/
ShowWindow(hwnd, nFunsterStil);
/*运行消息循环。循环到GetMessage()函数返回0*/
while(GetMessage(&messages, NULL, 0, 0))
/*返回PostQuitMessage()函数的返回值*/
二、c语言怎么做图形界面
C语言可以做图形界面。C语言中要做图形见面,首先需要设置为图形模式,确定显卡类型,对屏幕进行初始化等等。相关的函数如下:
1. detectgraph()显示卡检测函数
3. getdrivername()获取图形驱动程序名的指针
4. getgraphmode()获取图形模式函数
5. getmoderange()获取模式值范围函数
6. getmaxmode()获取最大显示模式函数
7. getmodename()获取显示模式名函数
8. graphdefaults()图形设置复位缺省值函数
9. setgraphmode()设置图形模式函数
10. restorecrtmode()恢复文本显示模式函数
11. graphresult()图形操作结果函数
12. grpaherrormsg()图形错误信息函数
13. setgraphbufsize()设置图形缓冲区大小函数
14. setactivepage()设置可输出显示页函数
15. setvisualpage()设置可见显示页数
16. closegraph()关闭图形模式函数希望以上对你有帮助,谢谢。
三、求高手帮忙如何给一个C语言编写软件的图形界面
1、voidShadowWindowLine(char*str);//在具有阴影效果的窗口中显示一行字符,窗口为居中显示
2、voidDrawBox(boolbSingle,SMALL_RECTrc);//绘制边框
3、hOut=GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出设备句柄
4、SetConsoleOutputCP(437);//设置代码页
5、ShadowWindowLine("Displayalineofwords,andcenterthewindowwithshadow.");
6、CloseHandle(hOut);//关闭标准输出设备句柄
7、voidShadowWindowLine(char*str)
8、CONSOLE_SCREEN_BUFFER_INFObInfo;//窗口缓冲区信息
9、GetConsoleScreenBufferInfo(hOut,&bInfo);//获取窗口缓冲区信息
10、intx1,y1,x2,y2,chNum=strlen(str);
11、x1=(bInfo.dwSize.X-chNum)/2-2;
12、WORDatt1=BACKGROUND_INTENSITY;//阴影属性
13、WORDatt0=FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_INTENSITY|
14、BACKGROUND_RED|BACKGROUND_BLUE;//文本属性
15、WORDattText=FOREGROUND_RED|FOREGROUND_INTENSITY;//文本属性
16、COORDposShadow={x1+1,y1+1},posText={x1,y1};
17、FillConsoleOutputAttribute(hOut,att1,chNum+4,posShadow,NULL);
18、FillConsoleOutputAttribute(hOut,att0,chNum+4,posText,NULL);
19、WriteConsoleOutputCharacter(hOut,str,strlen(str),posText,NULL);
20、SMALL_RECTrc={x1,y1,x2-1,y2-1};
21、SetConsoleTextAttribute(hOut,bInfo.wAttributes);//恢复原来的属性
22、voidDrawBox(boolbSingle,SMALL_RECTrc)
23、chBox[0]=(char)0xda;//左上角点
24、chBox[1]=(char)0xbf;//右上角点
25、chBox[2]=(char)0xc0;//左下角点
26、chBox[3]=(char)0xd9;//右下角点
27、chBox[0]=(char)0xc9;//左上角点
28、chBox[1]=(char)0xbb;//右上角点
29、chBox[2]=(char)0xc8;//左下角点
30、chBox[3]=(char)0xbc;//右下角点
31、WriteConsoleOutputCharacter(hOut,&chBox[0],1,pos,NULL);
32、for(pos.X=rc.Left+1;pos.X<rc.Right;pos.X++)
33、WriteConsoleOutputCharacter(hOut,&chBox[4],1,pos,NULL);
34、WriteConsoleOutputCharacter(hOut,&chBox[1],1,pos,NULL);
35、for(pos.Y=rc.Top+1;pos.Y<rc.Bottom;pos.Y++)
36、WriteConsoleOutputCharacter(hOut,&chBox[5],1,pos,NULL);
37、WriteConsoleOutputCharacter(hOut,&chBox[5],1,pos,NULL);
38、pos.X=rc.Left;pos.Y=rc.Bottom;
39、WriteConsoleOutputCharacter(hOut,&chBox[2],1,pos,NULL);
40、for(pos.X=rc.Left+1;pos.X<rc.Right;pos.X++)
41、WriteConsoleOutputCharacter(hOut,&chBox[4],1,pos,NULL);
42、WriteConsoleOutputCharacter(hOut,&chBox[3],1,pos,NULL);