- 在VS2019中创建新的Windows桌面应用程序项目
- 打开VS2019,选择“创建新项目”;
- 在弹出的“新建项目”对话框中,选择“Windows桌面应用程序”项目;
- 在下一步中,选择“Win32应用程序”模板;
- 给项目命名,并设置存储路径;
-
最后,点击“创建”按钮,即可创建新的Windows桌面应用程序项目。
-
在Windows桌面应用程序中创建Win32窗口
- 在项目中添加新的源文件,命名为“main.cpp”;
- 在“main.cpp”中,引入Windows.h头文件;
- 在“main.cpp”中创建一个Win32窗口的函数,如下所示:
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
- 在main函数中,新建Win32窗口,如下所示:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 1. 注册窗口类
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = nullptr;
wcex.lpszClassName = "Win32Window";
wcex.hIconSm = LoadIcon(wcex.hInstance, IDI_APPLICATION);
if (!RegisterClassEx(&wcex))
{
MessageBox(nullptr, "窗口注册失败!", "Win32Window", MB_ICONERROR | MB_OK);
return -1;
}
// 2. 创建窗口
HWND hWnd = CreateWindowEx(0,
"Win32Window",
"Win32Window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
500,
500,
nullptr,
nullptr,
hInstance,
nullptr);
if (!hWnd)
{
MessageBox(nullptr, "窗口创建失败!", "Win32Window", MB_ICONERROR | MB_OK);
return -1;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
// 3. 消息循环
MSG msg;
while (GetMessage(&msg, nullptr, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
这个例子中,我们首先注册了一个窗口类,并创建一个窗口,将窗口的消息循环放在一个while循环中。
以上就是使用Windows桌面应用程序模块创建Win32窗口的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VS2019使用Windows桌面应用程序模块创建Win32窗口 - Python技术站