C語言怎樣創建windows窗口

來源:文萃谷 2.4W

耐得住寂寞,禁得起誘惑,這就是程序人生

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 hwnd,UINT message,WPARAM wParam,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )

{

MSG msg;

HWND hwnd;

static TCHAR szAppName[] = "hl";

WNDCLASS wndclass;

e = CS_HREDRAW | CS_VREDRAW;

sExtra = 0;

dExtra = 0;

WndProc = MyProc;

tance = hInstance;

n = LoadIcon(NULL,IDI_APPLICATION);

sor = LoadCursor(NULL,IDC_ARROW);

ackground= (HBRUSH)GetStockObject(WHITE_BRUSH);

MenuName = NULL;

ClassName= 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 am;

}

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);

}

熱門標籤