《Windows程序设计》笔记 —— Chapter Three

《Windows程序设计》笔记 —— Chapter Three

Note:
         1.Windows程序员开始时总是复制一段代码然后做相应修改 
         2.常量前缀注记:
               CS  —— Class Stye      CW —— Create Window      DT —— Draw Text      
               IDI —— ID of Icon       IDC —— ID of Cursor          MB —— MessageBox
               SND —— Sound          WM —— Window Message  WS —— Window Style
               WParam —— WcharParam (16bit)     LParam —— LongParam(32bit) 默认为16位系统,而在32位系统中,两者均为32bit,W失去意义
               LRESULT —— LongResult
               #define CALLBACK __stdcall
               HINSTANCE  —— Handle of Instance  HWND —— Handle of Window  HDC —— Handle of Device Content  32bit            
         3.RegisterClass之后根据WndClass中的classname来CreateWindow,而classname属性在WndClass最后,多少有些降低了它的重要性,让人容易遗忘,至少刚开始时我是这样的。
         4.32bit系统无需判断hprevinstance,而16bit系统需要以节省内存。
         5.是否可理解所有窗口都是桌面窗口的子窗口或者间接子窗口?
         6.UpdateWindow(hwnd)向hwnd发送WM_PAINT消息。
         7.WM_Quit导致GetMessage返回0,消息循环结束。而PostQuitMessage通常用于响应WM_Destroy来向消息队列发送WM_Quit消息。为何不直接发送WM_Quit消息?如果这样的话在程序关闭之前你无法做任何其他操作。WM_Destroy响应函数可用于程序清理工作。
         8.TraslateMsg进行键盘转换,DispatchMsg将消息交给窗口,而窗口将其交给适合的消息处理函数。
         9.Windows程序所做的一切都是处理响应发送给窗口过程的消息。
         10.Windows会在创建之后给窗口发送WM_CREATE消息,而不是之前一直潜意识中误解的WM_CREATE消息的响应函数来负责Create Windows。
         11.消息循环和窗口过程并非并发进行。
         12.DefWndProc也是你窗口的一部分。

 ps:如有不对,请指正。

你可能感兴趣的:(《Windows程序设计》笔记 —— Chapter Three)