注册视窗类别,建立视窗,然後在萤幕上显示视窗,程式进入
讯息回圈,然後不断从讯息
伫列中取出讯息来处理。
在HELLOWIN中,视窗讯息处理程式是命名为WndProc的函式。视窗讯息处理程式可任意命名(只要求不和其他名字发生冲突)。一个Windows程式可以包含多个视窗讯息处理程式。一个视窗讯息处理程式总是与呼叫RegisterClass注册的特定视窗类别相关联。
CreateWindow函式根据特定视窗类别建立一个视窗。但依据一个视窗类别,可以建立多个视窗。
LRESULT CALLBACK WndProc (
HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
注意,视窗讯息处理程式的四个参数与MSG结构的前四个栏位是相同的。第一个参数hwnd是接收讯息的视窗的代号,它与CreateWindow函式的传回值相同。对於与HELLOWIN相似的程式(只建立一个视窗),这个参数是程式所知道的唯一视窗代号。如果程式是依据同一视窗类别(同时也是同一视窗讯息处理程式)建立多个视窗,则hwnd标识接收讯息的特定视窗。
第二个参数与MSG结构中的message栏位相同,它是标识讯息的数值。最後两个参数都是32位元的讯息参数,提供关于讯息的更多资讯。这些参数包含每个讯息型态的详细资讯。有时讯息参数是两个存放在一起的16位元值,而有时讯息参数又是一个指向字串或
资料结构的指标。
程式通常不直接呼叫视窗讯息处理程式,视窗讯息处理程式通常由Windows本身呼叫。通过呼叫SendMessage函式,程式能够直接呼叫它自己的视窗讯息处理程式。我们将在後面的章节讨论SendMessage函式。