一个经典的WIN32窗口应用
生活随笔
收集整理的這篇文章主要介紹了
一个经典的WIN32窗口应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個經典的WIN32窗口應用
- 源自圖書《精通Windows程序設計--基于VisualC++實現》
源自圖書《精通Windows程序設計–基于VisualC++實現》
這里使用**visual studio2019 **
//1. 新建一個cmd控制臺應用程序 //2.將項目->屬性->連接器->系統->子系統(窗口)  #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窗口应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南开大学java考试试题_2014秋学期
- 下一篇: java判断是否是路径_java判断是否