VC中怎样将多个按钮关联到同一个消息处理函数?
有一种方法是在BEGIN_MESSAGE_MAP(CCalculatorDlg,CDialog)//{{AFX_MSG_MAP(CCalculatorDlg)//}}AF...
有一种方法是在BEGIN_MESSAGE_MAP(CCalculatorDlg, CDialog)
//{{AFX_MSG_MAP(CCalculatorDlg) //}}AFX_MSG_MAP
END_MESSAGE_MAP() 中的消息处理函数中主动添加按钮函数。想问有没有其他方法?书上说用VC的某些操作能自动在上述代码中添加按钮函数。具体怎么做啊? 展开
//{{AFX_MSG_MAP(CCalculatorDlg) //}}AFX_MSG_MAP
END_MESSAGE_MAP() 中的消息处理函数中主动添加按钮函数。想问有没有其他方法?书上说用VC的某些操作能自动在上述代码中添加按钮函数。具体怎么做啊? 展开
3个回答
推荐于2017-09-21 · 知道合伙人互联网行家
关注
展开全部
在VC编程的MFC中,可以通过向程序添加ON_COMMAND_EX消息映射宏(即扩展消息映射宏)来实现对消息处理函数的共享。具体的示例程序代码如下:
.......
//扩展消息映射宏
ON_COMMAND_EX(IDC_BUTTON1,OnShared)
ON_COMMAND_EX(IDC_BUTTON2,OnShared)
ON_COMMAND_EX(IDC_BUTTON3,OnShared)
.......
//共享的消息处理函数
void CSafe::OnShared(UINT id)
{
switch(id)
.......
//扩展消息映射宏
ON_COMMAND_EX(IDC_BUTTON1,OnShared)
ON_COMMAND_EX(IDC_BUTTON2,OnShared)
ON_COMMAND_EX(IDC_BUTTON3,OnShared)
.......
//共享的消息处理函数
void CSafe::OnShared(UINT id)
{
switch(id)
展开全部
在BEGIN_MESSAGE_MAP中手动添加如下:
ON_MESSAGE(WM_CLICK,OnClickButton)
OnClickButton是处理消息的函数。
然后添加消息处理函数OnClickButton
注意,添加的函数自己改一下
afx_msg void OnClickButton(WPARAM wParam,LPARAM lParam);这函数中lParam是传回来的控件ID。
ON_MESSAGE(WM_CLICK,OnClickButton)
OnClickButton是处理消息的函数。
然后添加消息处理函数OnClickButton
注意,添加的函数自己改一下
afx_msg void OnClickButton(WPARAM wParam,LPARAM lParam);这函数中lParam是传回来的控件ID。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VC++ 提供了宏指令ON_CONTROL_RENGE,可允许多个控件使用同一个消息处理函数
ON_CONTROL_RANGE(notifyCode,FirstCtrlID,LastCtrlID,ClassMethod);
ON_CONTROL_RANGE(notifyCode,FirstCtrlID,LastCtrlID,ClassMethod);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询