定义第一个窗口

#include "tchar.h"
#include <windows.h> 
//回调函数
LRESULT CALLBACK winproc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{


     switch (uMsg)
     {
    case WM_CLOSE:

    {
        ::DestroyWindow(hWnd);
    }
        break;
    case WM_DESTROY:
    {
        PostQuitMessage(NULL);
    }break;
    }

    return DefWindowProc(hWnd, uMsg, wParam, lParam);

}

int WINAPI   _tWinMain(
//#ifdef _UNICODE
//#define _tWinMain   wWinMain
//#else 
//#define _tWinMAin WinMain
    _In_ HINSTANCE hInstance,
    _In_opt_ HINSTANCE hPrevInstance,
    _In_ LPTSTR lpCmdLine,
    _In_ int nShowCmd)
{
    WNDCLASSEX wcex;
    //设计窗口

    wcex.cbSize = sizeof(WNDCLASSEX); //窗口的大小
    wcex.style = CS_HREDRAW | CS_VREDRAW | CS_BYTEALIGNCLIENT; //窗口的风格
    wcex.lpfnWndProc = winproc; //消息处理函数,窗口处理指针
    wcex.cbClsExtra = 0; //窗口类结构后的附加字节数
    wcex.cbWndExtra = 0; //窗口事例后的附加字数
    wcex.hInstance = hInstance; //实例句柄
    wcex.hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(IDI_QUESTION)); //图标的句柄   makeintresouce数字形ID",转化为"字符串
    wcex.hCursor = ::LoadCursor(NULL, MAKEINTRESOURCE(IDC_HAND)); //光标的句柄
    //wcex.hCursor = LoadCursor(NULL, IDC_ARROW); //光标的句柄
    wcex.hbrBackground = (HBRUSH)(COLOR_CAPTIONTEXT); //背景画刷的句柄 
    wcex.lpszMenuName = NULL; //指向菜单的指针
    wcex.lpszClassName = _T("name"); //类别名称的指针
    wcex.hIconSm = ::LoadIcon(NULL, IDI_APPLICATION); //窗口类关联的小图标 


    //2.注册窗口
    BOOL bret = ::RegisterClassEx(&wcex);//窗口对象的地址
    if (!bret)
    {
        MessageBox(NULL,_T("注册失败"),_T("注册窗口"),0);//MB_OK
    }
    //3创建窗口
    HWND hWnd = ::CreateWindowEx(0, wcex.lpszClassName, 
        _T("窗口"), WS_VISIBLE|WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,CW_USEDEFAULT,
        CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);//扩展窗口风格,窗口类名,窗口名,窗口风格,

    //4显示更新窗口
    ::ShowWindow(hWnd, SW_SHOW);
    ::UpdateWindow(hWnd);

    //5消息循环
    MSG  msg;
    while (::GetMessage(&msg,hWnd,NULL,NULL))
    {
        ::TranslateMessage(&msg);
        ::DispatchMessage(&msg);//派遣消息

    }


    return 0;
}

猜你喜欢

转载自blog.csdn.net/yonggandess/article/details/88864591