当前位置:C++技术网 > 资讯 > Windows窗口创建的具体步骤

Windows窗口创建的具体步骤

更新时间:2015-06-24 13:09:44浏览次数:1+次

/*
实现窗口创建的六步骤:
第一步:创建入口函数WinMain
第二步:注册窗口类
第三部:实现回调函数的功能
第四步:显示窗口
第五步:更新窗口
第六步:消息循环
*/

#include "stdafx.h"
//回调函数
LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam )
{
    switch(uMsg)
    {
        case WM_CREATE:
        {
            MessageBox(NULL,"即将创建一个窗口!","Infor",MB_OK);
        }
        break;
        case WM_DESTROY:
        {
            PostQuitMessage(0);
        }
        break;
    }
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
//创建入口函数
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int ShowCmd)
{
    HWND hWnd=0;
    MSG nMsg={0};
    //注册窗口类
    WNDCLASS cs={0};
    cs.cbClsExtra=0;
    cs.cbWndExtra=0;
    cs.hbrBackground=(HBRUSH)(COLOR_WINDOW+2);
    cs.hCursor=NULL;
    cs.hIcon=NULL;
    cs.hInstance=hInstance;
    cs.lpfnWndProc=(WNDPROC)WinProc;
    cs.lpszClassName="Main";
    cs.lpszMenuName=NULL;
    cs.style=CS_VREDRAW|CS_HREDRAW;
    RegisterClass(&cs);//实现注册窗口
    //创建窗口
    hWnd=CreateWindow("Main","Windows",WS_OVERLAPPEDWINDOW,200,200,500,500,NULL,NULL,hInstance,NULL);
    //显示窗口
    ShowWindow(hWnd,SW_SHOW);
    //更新窗口
    UpdateWindow(hWnd);
    //消息循环
    while(GetMessage(&nMsg,0,NULL,NULL))
    {
        TranslateMessage(&nMsg);
        DispatchMessage(&nMsg);
    }
    return 0;
}