C语言怎样创建windows窗口
耐得住寂寞,禁得起诱惑,这就是程序人生 步骤:
1.在WinMain中定义各种变量 2.注册窗口类RegisterClass 3.创建窗口CreateWindow 4.显示窗口和更新窗口 复制代码 代码如下:
ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; 5.消息循环
复制代码 代码如下:
while (GetMessage (msg, NULL, 0, 0)) {
TranslateMessage (msg) ; DispatchMessage (msg) ; }
完整代码: 复制代码 代码如下: #include LRESULT
CALLBACK
MyProc(HWND
message,WPARAM wParam,LPARAM lParam);
hwnd,UINT
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { MSG msg; HWND hwnd;
static TCHAR szAppName[] = hl; WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.lpfnWndProc = MyProc; wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL,IDC_ARROW); wndclass.hbrBackground=
(HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName= szAppName; if(!RegisterClass(wndclass)) {
MessageBox(NULL,TEXT(error),TEXT(title),MB_ICONERROR);
return 0; }
hwnd = CreateWindow(szAppName, TEXT(Hello),
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL );
ShowWindow(hwnd,nShowCmd); UpdateWindow(hwnd);
while(GetMessage(msg,hwnd,0,0)) {
TranslateMessage(msg); DispatchMessage(msg); }
return msg.wParam;
} LRESULT
CALLBACK
MyProc(HWND
hwnd,UINT
message,WPARAM wParam,LPARAM lParam) {
switch(message) {
case WM_DESTROY: PostQuitMessage(0); return 0; }
return DefWindowProc(hwnd,message,wParam,lParam); }