---恢复内容开始---
今天学习了win32的相关知识,首先win32是指是指可以在32位或以上Windows系统中运行的程序,我学习的主要利用c/c++语言编写的win32程序,
首先在win32中开始一个项目需要经历 1.窗口设计 2. 注册 3.创建 4.显示 五个部分,其中的难点就在于窗口设计中 lpfnWndProc 消息处理函数的编写,win32的精髓就在于它的消息机制,
在百度百科中关于消息机制是这样阐述的:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
先放上来一个 利用win32创建窗口的程序
1 #include<Windows.h> 2 LRESULT CALLBACK MyWNDPROC(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam); 3 int CALLBACK Winmain( 4 HINSTANCE hInstance, 5 HINSTANCE hPrevInstance, 6 LPSTR lpCmdLine, 7 int nCmdShow 8 ) 9 { 10 MSG msg; 11 HWND hwnd; 12 WNDCLASSEX ex; 13 ex.style = CS_HREDRAW | CS_VREDRAW; 14 ex.cbSize = sizeof(ex); 15 ex.cbClsExtra = 0; 16 ex.cbWndExtra = 0; 17 ex.hInstance = hInstance; 18 ex.hIcon = NULL; 19 ex.hCursor = NULL; 20 ex.hbrBackground = CreateSolidBrush(RGB(0,255,0)); 21 ex.hIconSm = NULL; 22 ex.lpfnWndProc = &MyWNDPROC; 23 ex.lpszMenuName = NULL; 24 ex.lpszClassName = "AA"; 25 26 RegisterClassEx(&ex); 27 28 hwnd = CreateWindow(ex.lpszClassName,"你好中国",WS_OVERLAPPEDWINDOW,50,50,100,100,NULL,NULL,hInstance,NULL); 29 30 ShowWindow(hwnd,SW_SHOW); 31 32 while(GetMessage(&msg,NULL,0,0)) 33 { 34 TranslateMessage(&msg); 35 DispatchMessage(&msg); 36 } 37 38 39 40 41 return 0; 42 } 43 LRESULT CALLBACK MyWNDPROC(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam) 44 { 45 switch(message) 46 case WM_CLOSE: 47 break; 48 return DefWindowProc(hwnd,message,wparam,lparam); 49 }
2019-05-09 23:56:50 编程小菜鸟自我反省,大佬勿喷,谢谢!!!
原文:https://www.cnblogs.com/xgmzhna/p/10841926.html