日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个经典的WIN32窗口应用

發布時間:2024/7/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个经典的WIN32窗口应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個經典的WIN32窗口應用

  • 源自圖書《精通Windows程序設計--基于VisualC++實現》

源自圖書《精通Windows程序設計–基于VisualC++實現》

這里使用**visual studio2019 **

//1. 新建一個cmd控制臺應用程序 //2.將項目->屬性->連接器->系統->子系統(窗口) ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200205211619522.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIwMTQ0NTk3,size_16,color_FFFFFF,t_70) #ifndef __cmd_win32__ #define __cmd_win32__ #include <Windows.h> #include <iostream> #include "cmd_win32.h" using namespace std; #define MAX_LOADSTRING 100 //廢棄的 static TCHAR szWindowClass[] = TEXT("黑暗過后的黎明"); static TCHAR szTitle[] = TEXT("黎明來了"); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE hInstance, int nCmdShow); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {MSG msg;HACCEL hAccelTable = LoadAccelerators(hInstance, szTitle);RegisterClass(hInstance); //注冊窗口if (!InitInstance(hInstance, nCmdShow))return FALSE;while (GetMessage(&msg, NULL, 0, 0)) //進入消息循環{if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return msg.wParam;while (::GetMessage(&msg, NULL, 0, 0)){::TranslateMessage(&msg);::DispatchMessage(&msg);} } ATOM MyRegisterClass( HINSTANCE hInstance) {WNDCLASS wndclass;//wndclass.cbSize = sizeof(wndclass);wndclass.style = CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc = (WNDPROC)WndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_EXCLAMATION);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);//wndclass.lpszMenuName = (LPCTSTR)IDC_CHAP2EXA2;wndclass.lpszClassName = szWindowClass;//wndclass.hIconSm = LoadIconW(wndclass.hInstance, (LPCTSTR)IDI_WARNING);return MyRegisterClass(&wndclass); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {HWND hWnd;hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);if (!hWnd){return FALSE;}//顯示ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);return TRUE; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wPARAM, LPARAM lParam) {HDC hdc;PAINTSTRUCT ps;RECT rect;switch (message){case WM_PAINT:hdc = BeginPaint(hWnd, &ps);GetClientRect(hWnd, &rect);DrawText(hdc, TEXT("大家好,這是我的第一個窗口程序!"), -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hWnd, &ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hWnd, message, wPARAM, lParam); }#endif !__cmd_win32__

總結

以上是生活随笔為你收集整理的一个经典的WIN32窗口应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。