Windows程序设再读笔记03-窗口与消息

时间:2021-09-07 00:12:01

1.关于LoadIcon/LoadCursor,这两个函数,第一个参数为实例句柄,如果是从保存在磁盘中的可执行文件中加载资源,则需要则需要指定可执行文件的hInstance,如果是系统资源,该句柄为NULL。

2.关于窗口的Style,有的在窗口类中指定,有的在CreateWindow时指定,是因为有些参数是每个实例都不同的,因此需要在Create时指定。

3.进入消息循环前的UpdateWindow是给消息队列增加第一条WM_PAINT.

4.队列消息:按键消息(WM_KEYDOWN,WM_KEYUP,WM_CHAR),鼠标消息(WM_MOUSEMOVE,WM_LBUTTONDOWN等),WM_TIMER,WM_PAINT,WM_QUIT,其余消息是非队列消息。

5.WM_COMMAND是非队列消息。

6.每个线程有自己的消息队列,每个线程的消息队列仅为线程内的窗口处理消息。每个线程中的消息循环和窗口过程不是并发的,DispatchMessage函数会将消息发送到窗口过程,只有在窗口过程返回后,DispatchMessage才会返回。

7.窗口过程是可充入的,因为在处理某个消息的过程中,会产生新的消息。