1. API与SDK
a) Application Programming Interface
b) Software Development Kit
2. 句柄
a) 句柄:HANDLE
b) 窗口句柄:HWND
c) 图标句柄:HICON
d) 光标句柄:HCURSOR
e) 画刷句柄:HBRUSH
3. 窗口的创建
a) 设计一个窗口类
b) 注册窗口类
c) 创建窗口
d) 显示及更新窗口
e) 编写消息循环
f) 编写窗口过程函数
4. _stdcall与_cdecl是两种不同的函数调用约定,定义了函数参数入栈的顺序。在VC++开发环境中,默认的编译选项是_cdecl,对于那些需要_stdcall调用约定的函数,在声明时必须显式地加上_stdcall。
a) 在Windows中,回调函数必须遵循_stdcall调用约定,所以我们在声明回调函数时要使用CALLBACK。
5. PeekMessage的前四个参数与GetMessage的四个参数的作用相同。最后1个参数指定消息获取的方式,如果设为PM_NOREMOVE,那么消息将不会从消息队列中被移除;如果设为PM_REMOVE,那么消息将会从消息队列中移除(与GetMessage一致)
6. 发送消息:
a) SendMessage:将消息直接发送给窗口,并调用窗口的窗口过程进行处理。在窗口过程对消息处理完毕后,该函数才返回(SendMessage发送的消息为不进队消息)
b) PostMessage:将消息放入与创建窗口的线程相关联的消息队列后立即返回。
c) PostThreadMessage:向线程发送消息,对于线程消息,MSG结构体中的hwnd成员为NULL.
7. 在Windows平台下,所有的图形操作都是利用DC来完成的。