如何用C语言做一个界面?
#包含?& ltwindows.h & gt
/*?所有的窗口都在这里输出?*/
LRESULT?回调?WndProc(HWND?hwnd,?UINT?消息,?WPARAM?wParam,?LPARAM?lParam)?{
开关(消息)?{
/*?停止后告诉主线程停止?*/
案子?WM_DESTROY:?{
PostQuitMessage(0);
打破;
}
/*?其他所有消息(多人)都由默认程序处理?*/
默认值:
回归?DefWindowProc(hwnd,消息,?wParam,?lParam);
}
回归?0;
}
/*?Win32?GUI程序的主要功能:执行从这里开始?*/
int?WINAPI?WinMain(hin instance?hInstance?HINSTANCE?hPrevInstance,?LPSTR?lpCmdLine,?int?nCmdShow)?{
WNDCLASSEX?WC;?/*?窗口的属性结构?*/
HWND?hwnd?/*?“处理”?窗口的标识符?*/
味精?味精;?/*?所有消息的临时位置?*/
/*?改变结构和设置的东西?*/
memset(& amp;wc,0,sizeof(WC));
wc.cbSize?=?sizeof(WNDCLASSEX);
wc.lpfnWndProc?=?WndProc?/*?消息将被发送到哪里?*/
wc.hInstance?=?hInstance
wc.hCursor?=?LoadCursor(NULL,IDC _ ARROW);
/*?白色,COLOR_WINDOW是系统定义的颜色值,其值为5?*/
wc.hbrBackground?=?(HBRUSH)(COLOR _ WINDOW+1);
wc.lpszClassName?=?”window class”;
wc.hIcon?=?LoadIcon(NULL,IDI _应用);?/*?加载标准图标?*/
wc.hIconSm?=?LoadIcon(NULL,IDI _应用);?/*?使用名称“a”作为项目的图标?*/
如果(!register classex(& amp;wc))?{
MessageBox(NULL,“窗户?报名?失败!”,“错误!”,MB _ icon感叹号| MB _ OK);
回归?0;
}
hwnd?=?CreateWindowEx(WS _ EX _ client edge," WindowClass "," Caption ",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,?/*?x?*/
CW_USEDEFAULT,?/*?y?*/
640,?/*?宽度?*/
480,?/*?身高?*/
NULL,NULL,hInstance,NULL);
if(hwnd?==?NULL)?{
MessageBox(NULL,“窗户?创作?失败!”,“错误!”,MB _ icon感叹号| MB _ OK);
回归?0;
}
/*
所有输入处理和发送到窗口的过程。
请注意,这个代码块一直流动,直到它接收到一些东西。
因此该循环不会产生不合理的高CPU利用率。?
*/
while(GetMessage(& amp;味精,?NULL,?0,?0)?& gt?0)?/*?如果您没有收到任何错误...*/
{
翻译消息(& amp味精);?/*?如果有转换键字符*/
dispatch message(amp;味精);?/*?发给WndProc?*/
}
回归?Msg.wParam
}