Direct3D 12 创建windows窗口
之前列出了计算机图形学的计划,现在开始这一阶段的学习,首先是Windows窗口的创建。
创建windows窗口
环境: 1. Visual Studio 2015
新建项目
创建工程项目完成,确定为窗口:
添加MainWindowDemo.cpp文件
/* 实现窗口创建的六步骤: 第一步:创建入口函数WinMain 第二步:注册窗口类 第三部:实现回调函数的功能 第四步:显示窗口 第五步:更新窗口 第六步:消息循环 */ #include "windows.h" //回调函数 LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CREATE: { MessageBox(NULL, L"即将创建一个窗口!", L"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 = L"Main"; cs.lpszMenuName = NULL; cs.style = CS_VREDRAW | CS_HREDRAW; RegisterClass(&cs);//实现注册窗口 //创建窗口 hWnd = CreateWindow(L"Main", L"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; }
代码引用:https://www.cnblogs.com/xiaoweiwangwang/p/4079494.html