本文主要是介绍Win32 SDK值得注意的地方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
阅读了theForger's Win32 API的书摘,提取了一些我感觉我自己应该注意到的地方。之后我安排时间学习Charles Petzold的Programming Windows 5th以及实践win32 SDK项目。在以上学习实践结束前本文会不定期的更新。
- PostMessage与SendMessage区别
可以用PostMessage()或SendMessage()来发送消息.PostMessage()把消息放入消息队列再立即返回.就是说你调用了PostMessage()后消息可能被处理了,也可能还沒有被处理.SendMessage()则真接把消息送往窗口并且在窗口沒有结束处理消息之前不返回.
- 窗口处理回调函数
通常上你不处理的消息就返回一个FALSE,处理的话就是TRUE,除非那个消息
指明了你要返回一个別的值.注意这就是我们在上面做的,默认的就是什么都不做并返回一个FALSE,而我们处理的消息就跳出switch()并返回TRUE.
- WM_COMMAND参数组成
wParam有两个部分,HIWORD(wParam)中含有提示消息(如果有的话),LOWORD(wParam)含有发送消息的控件或菜单的标识号(注意消息占用两个字节,不超过2^16).lParam含有发送消息的控件的HWND(窗口的句柄)或者为NULL,当消息不是由控件发送.
- 关于通用控件的重要说明
对于所有的通用控件,你要用它们之前都要调用InitCommonControls().还要#include<commctrl.h>以便使用函数与一些所必须的通用控件的申明与定义. 你还需要在链接设置中加上comctl32.lib,如果它不在那里的话.注意
InitCommonControls()是个旧API,为了使用更多的功能你可以使用InitCommonControlsEx()(就是InitCommonControlSex()), 在使用很多最近
才有的通用控件的时候,你也必须要用这个函数.
通用控件包括工具栏以及状态栏等,ListView,TreeView,Hotkey,Progress Bar,等控件也被规类为通用控件。而Button,Edit,ListBox等等控件毫无疑问也很通用,但不是”通用控件”,一般称为”标準控件”.
- 如何销毁HDC(Handle to Device Context,设备上下文的句柄)
GetDC() -- ReleaseDC()
BeginPaint() -- EndPaint()
CreateCompatibleDC() -- DeleteDC()
未读部分
应用第二部分:使用文件与常用对话框
应用第四部分:多文档界面
文本与字体(读得不是很仔细,用的时候仔细看下)
这篇关于Win32 SDK值得注意的地方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!