WinProc窗口过程定义函数解析-【学习札记】

WinProc窗口过程定义函数解析-【学习札记】

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的

hwnd:标识哪个窗口句柄需要调用窗口过程

message:标识hwnd窗口要处理的消息

wParam:一个32位的消息参数,其含义和数值根据消息的不同而不同lParam:一个32位的消息参数,其值与消息有关

注意:程序通常不直接调用窗口过程,一般有windows本身调用,通过SendMessage函数可以让程序直接调用窗口过程

//注解:

GetMessage(&msg,NULL,0,0);//从消息队列获取消息,第二三四个参数表示获取的消息种类,设置为NULL或者0表示接收任何消息

TranslateMessage(&msg);//将消息传给Windows,进行一些键盘转换

DispatchMessage(&msg);//将消息传回给Windows,Windows将该消息发给适当的窗口过程,调用窗口过程进行处理

消息的定义:

#ifndef NOMSG

/* * Message structure */typedef struct tagMSG { HWND hwnd;//消息发向的窗口的句柄 UINT message;//消息标识符,每一条消息都会有一个对应的标识符 WPARAM wParam;//一个32位的消息参数,其含义和数值根据消息的不同而不同 LPARAM lParam;//一个32位的消息参数,其值与消息有关 DWORD time;//消息放入队列的时间 POINT pt;//消息放入队列时的鼠标坐标#ifdef _MAC DWORD lPrivate;#endif} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

来源:《windows程序设计》

相关推荐

法拉利最贵的十款车 法拉利最贵的车多少钱 你见过几辆→MAIGOO生活榜
抽烟想吐,是烟的错还是身体的警钟?
365bet娱乐登录

抽烟想吐,是烟的错还是身体的警钟?

📅 07-10 👁️ 1023
小米手机短信发送及高级技巧全攻略
365bet娱乐登录

小米手机短信发送及高级技巧全攻略

📅 08-04 👁️ 3838
企业社会责任有哪些方面?有哪些特征类型?企业社会责任的四个维度
上海浦东机场在哪个区?上海浦东机场所属街道
365体育提现多久到账

上海浦东机场在哪个区?上海浦东机场所属街道

📅 07-28 👁️ 3231
光荣与耻辱共存 2002年国际体育大事述评
365体育提现多久到账

光荣与耻辱共存 2002年国际体育大事述评

📅 06-27 👁️ 3746
微信社群营销:为什么要做微信群营销,如何做?
365bet娱乐登录

微信社群营销:为什么要做微信群营销,如何做?

📅 07-05 👁️ 4423
五六讲坛|以船为家的水上族群——厦门疍民习俗
365体育提现多久到账

五六讲坛|以船为家的水上族群——厦门疍民习俗

📅 07-14 👁️ 856
奥丁领域纠结买PS4还是PSV版本!求助!
365bet娱乐登录

奥丁领域纠结买PS4还是PSV版本!求助!

📅 07-13 👁️ 5566