1. 程式人生 > >Win32編程

Win32編程

toc ext n) mds troy adc 窗口 nap get

#include <windows.h>

HINSTANCE hinst;

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
        break;
    case WM_LBUTTONDOWN:
        MessageBox(hWnd, L"ONDragon", L"
ONDragon", MB_OK); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int lpCmdShow) { //定義窗口類 WNDCLASSEX wcx; hinst = hInstance; MSG msg; BOOL getMessage; wcx.lpszClassName
= L"MainClass"; wcx.cbSize = sizeof(wcx); wcx.style = CS_HREDRAW | CS_VREDRAW; wcx.hInstance = hinst; wcx.lpfnWndProc = MainWndProc; wcx.cbClsExtra = 0; wcx.cbWndExtra = 0; wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION); wcx.hCursor = LoadCursor(NULL, IDC_ARROW); wcx.hbrBackground
= (HBRUSH)GetStockObject(WHITE_BRUSH); wcx.lpszMenuName = NULL; wcx.hIconSm = (HICON)LoadImage( hInstance, MAKEINTRESOURCE(5), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR); //註冊窗口類 if (!RegisterClassEx(&wcx)) { return 0; } //使用窗口類創建窗口 HWND hWnd = CreateWindow( L"MainClass", L"ONDragon", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hinst, NULL); if (!hWnd) { return 0; } //顯示窗口 ShowWindow(hWnd,lpCmdShow); //立即顯示窗口 UpdateWindow(hWnd); while ( 0 != (getMessage = GetMessage(&msg,NULL,0,0))) { //傳遞個回調函數MainProc TranslateMessage(&msg); DispatchMessage(&msg); } return 0; }

Win32編程