rClassEx( &wndClass ) ) return -1; RECT rc = { 0, 0, 640, 480 }; AdjustWindowRect( &rc,WS_OVERLAPPEDWINDOW, FALSE ); HWND hwnd = CreateWindowA( "DIRECTX11BookWindowClass","Blank Win32 Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL,hInstance, NULL ); if( !hwnd ) return -1; ShowWindow( hwnd, cmdShow ); // 初始化 MSG msg = { 0 }; while( msg.message != WM_QUIT ) { if( PeekMessage( &msg, 0, 0, 0,PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { // 进行更新 // 进行绘图操作 } } // 收尾工作 return static_cast( msg.wParam); } //****消息处理函数*********************************** LRESULTCALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { PAINTSTRUCT paintStruct; HDC hDC; switch( message ) { case WM_PAINT: hDC = BeginPaint( hwnd,&paintStruct ); EndPaint( hwnd, &paintStruct); break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd,message, wParam, lParam ); } return 0; }
对代码进行编译运行,就可以得到一个空白的窗口,如下图。这个Demo放在这里讲很有必要,可以作为我们之后讲解的程序的模板,后面我们会接着创建很多Demo,都是在这个最基础的Demo之上添加相关代码即可。
程序运行后得到如下窗口:
作者:zhmxy555
|