1. 程式人生 > >使用Windows API建立一個Win32應用程式視窗

使用Windows API建立一個Win32應用程式視窗

新建一一個專案名為MakeWin的Win32應用程式空專案,然後為其新增一個名為MakeWin的C++原始檔

#include<windows.h>
char Name[]="MakeWin";
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain (HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpszCmdParm,int nCmdShow)
{
    
    //定義
    HWND hwnd;
    MSG Msg;
    WNDCLASS WndClass;//定義


    //註冊視窗
    memset(&WndClass,0,sizeof(WNDCLASS));
    WndClass.style=CS_HREDRAW|CS_VREDRAW;
    WndClass.lpfnWndProc=WndProc;
    WndClass.hInstance=hInst;
    WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
    WndClass.lpszClassName = Name;
    RegisterClass(&WndClass);//註冊視窗


    //建立視窗
    hwnd=CreateWindow(Name,Name,WS_OVERLAPPEDWINDOW,
        10,10,600,400,NULL,NULL,hInst,NULL);

    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);//建立視窗


    //訊息迴圈
    while(GetMessage(&Msg, NULL, 0,0))
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }//訊息迴圈


    return Msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
    if(Message==WM_DESTROY)
    {
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd,Message,wParam,lParam);
}