MFC----消息响应机制
2012-07-07 18:32
232 查看
学习MFC,对窗口的一些知识总结,希望对初学者有用!
1、窗口类型
可重叠窗口 WS_OVERLAPPED 有水平滚动条 WS_HSCROLL 有垂直滚动条 WS_VSCROLL 弹出窗口 WS_POPUP 子窗口 WS_CHILD
特殊窗口类型:消息窗口 HWND_MESSAGE
2、窗口消息前缀
应用程序桌面工具条 ABM
按钮 BM
组合框 CB
扩展组合框 CBEM
通用对话框 CDM
设备 DBT
下拉列表 DL
Default push button control DM
Date and time picker control DTM
编辑框 EM
Header control HDM
热键 HKM
IP控件 IPM
列表框 LB
列表视图 LVM
日历控件 MCM
进度条 PBM
Pager control PGM
属性 PSM
伸缩条 RB
状态栏 SB
滚动条 SBM
静态条 STM
工具条 TB
跟踪条 TBM
Tab control TCM
Tooltip control TTM
树状图 TVM
Up-down control UDM
一般窗口 WM
窗口消息有:一般窗口消息(WM_CREATE,WM_DESTROY,MW_MOVE),命令窗口消息(WM_COMMAND),控件窗口消息
3、应用程序定义的消息(WM_USER+n):在0x0400(WM_USER)和0x7FFF之间
4、消息参数
hwnd:表示处理该消息的窗口,该窗口的窗口过程将被调用以处理消息
message:消息的唯一标识
wParam:处理该消息所需要的参数
lParam:处理该消息所需要的额外参数
5、消息映射
(1)声明消息映射
在类中:DECLARE MESSAGE MAP( )
(2)实现消息映射
在文件中:BEING_ MESSAGE_ MAP(相关类,基类)
END_MESSAGE_MAP()
消息映射入口项的基本语法:
ON_MessageName(ID,ClassMethod)
消息处理函数的函数原型:
afx_msg void ClassMethod();
6、消息传输的方式
(1)寄送:PostMessage()
LRESULT Res=pWnd->PostMessage(UINT Msg,WPARAM wParam,LPARAM lParam)
( 2 ) 发送:SendMessage()
1、窗口类型
可重叠窗口 WS_OVERLAPPED 有水平滚动条 WS_HSCROLL 有垂直滚动条 WS_VSCROLL 弹出窗口 WS_POPUP 子窗口 WS_CHILD
特殊窗口类型:消息窗口 HWND_MESSAGE
2、窗口消息前缀
应用程序桌面工具条 ABM
按钮 BM
组合框 CB
扩展组合框 CBEM
通用对话框 CDM
设备 DBT
下拉列表 DL
Default push button control DM
Date and time picker control DTM
编辑框 EM
Header control HDM
热键 HKM
IP控件 IPM
列表框 LB
列表视图 LVM
日历控件 MCM
进度条 PBM
Pager control PGM
属性 PSM
伸缩条 RB
状态栏 SB
滚动条 SBM
静态条 STM
工具条 TB
跟踪条 TBM
Tab control TCM
Tooltip control TTM
树状图 TVM
Up-down control UDM
一般窗口 WM
窗口消息有:一般窗口消息(WM_CREATE,WM_DESTROY,MW_MOVE),命令窗口消息(WM_COMMAND),控件窗口消息
3、应用程序定义的消息(WM_USER+n):在0x0400(WM_USER)和0x7FFF之间
4、消息参数
hwnd:表示处理该消息的窗口,该窗口的窗口过程将被调用以处理消息
message:消息的唯一标识
wParam:处理该消息所需要的参数
lParam:处理该消息所需要的额外参数
5、消息映射
(1)声明消息映射
在类中:DECLARE MESSAGE MAP( )
(2)实现消息映射
在文件中:BEING_ MESSAGE_ MAP(相关类,基类)
END_MESSAGE_MAP()
消息映射入口项的基本语法:
ON_MessageName(ID,ClassMethod)
消息处理函数的函数原型:
afx_msg void ClassMethod();
6、消息传输的方式
(1)寄送:PostMessage()
LRESULT Res=pWnd->PostMessage(UINT Msg,WPARAM wParam,LPARAM lParam)
( 2 ) 发送:SendMessage()