同一类消息或命令映射到同一个函数
来源:互联网 发布:最值得看的电影 知乎 编辑:程序博客网 时间:2024/04/30 23:41
共有三类:
ON_COMMAND_RANGE
ON_UPDATE_COMMAND_UI_RANGE
ON_CONTROL_RANGE // takes an additional first parameter: a control-notification message, such as EN_CHANGE.
第一步:
In the .CPP file, add your message-map entry, as shown in the following example:
ON_COMMAND_RANGE(ID_MYCMD_ONE, ID_MYCMD_TEN, &OnDoSomething) //The range of command IDs must be contiguous.
ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
ON_UPDATE_COMMAND_UI_RANGE(id1, id2, memberFxn )
ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON1, IDC_BUTTON10, OnButtonClicked) //control-notification messages
第二步:
Add your handler function declaration in the .H file. The following code shows how this might look, as shown below:
public:
afx_msg void OnDoSomething(UINT nID);(== OnButtonClicked)
void CRangesView::OnButtonClicked( UINT nID )
{
int nButton = nID - IDC_BUTTON1;
ASSERT( nButton >= 0 && nButton < 10 );
// ...
}
afx_msg void OnZoomUpdateUI(CCmdUI *pCmdUI); //图像放缩 更新
void CVCStyleView::OnZoomUpdateUI( CCmdUI *pCmdUI )
{
if (pCmdUI->m_nID == ID_Z00M_25)
{
if (m_zoom == -4)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_50)
{
if (m_zoom == -2)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_100)
{
if (m_zoom == 1)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_200)
{
if (m_zoom == 2)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_400)
{
if (m_zoom == 4)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
}
ON_COMMAND_RANGE
ON_UPDATE_COMMAND_UI_RANGE
ON_CONTROL_RANGE // takes an additional first parameter: a control-notification message, such as EN_CHANGE.
第一步:
In the .CPP file, add your message-map entry, as shown in the following example:
ON_COMMAND_RANGE(ID_MYCMD_ONE, ID_MYCMD_TEN, &OnDoSomething) //The range of command IDs must be contiguous.
ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
ON_UPDATE_COMMAND_UI_RANGE(id1, id2, memberFxn )
ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON1, IDC_BUTTON10, OnButtonClicked) //control-notification messages
第二步:
Add your handler function declaration in the .H file. The following code shows how this might look, as shown below:
public:
afx_msg void OnDoSomething(UINT nID);(== OnButtonClicked)
void CRangesView::OnButtonClicked( UINT nID )
{
int nButton = nID - IDC_BUTTON1;
ASSERT( nButton >= 0 && nButton < 10 );
// ...
}
afx_msg void OnZoomUpdateUI(CCmdUI *pCmdUI); //图像放缩 更新
void CVCStyleView::OnZoomUpdateUI( CCmdUI *pCmdUI )
{
if (pCmdUI->m_nID == ID_Z00M_25)
{
if (m_zoom == -4)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_50)
{
if (m_zoom == -2)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_100)
{
if (m_zoom == 1)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_200)
{
if (m_zoom == 2)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
if (pCmdUI->m_nID == ID_ZOOM_400)
{
if (m_zoom == 4)
{
pCmdUI->SetCheck(1);
}else
{
pCmdUI->SetCheck(0);
}
}
}
0 0
- 同一类消息或命令映射到同一个函数
- 将多个类似命令消息或多个控件消息映射到同一个响应函数:ON_COMMAND_RANGE
- 多个按键点击映射到同一个消息函数中的方法(ON_COMMAND_RANGE)
- Android Handler类消息传递机制(二)同一类(或内部类)中使用Handler
- 前台提交不同类多个对象或同一类多个对象集合到后台
- SpringMVC 前台提交不同类多个对象或同一类多个对象集合到后台
- 消息映射和命令传递
- Windows消息代码映射到消息名称
- Windows消息映射函数原型
- 用arm-eabi-objdump命令查看lib库或可执行文件的函数-地址映射信息
- 用arm-eabi-objdump命令查看lib库或可执行文件的函数-地址映射信息
- OpenGL学习 将不同纹理映射到不同面上
- 将不同纹理映射到不同面上nehe
- OpenGL学习 将不同纹理映射到不同面上
- OpenGL学习 将不同纹理映射到不同面上
- 同一类一个对象属性赋值到另一个对象的属性,前者存在的替换,不存在的不做改动
- MFC的消息映射与命令传递
- 深入vc++消息映射与命令通知
- 从银行窗口业务办理来看锁的实现
- 几种Web服务器比较-(Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus
- Windows 开启“上帝模式”
- ABAP标准列表和选择屏幕
- mybatis自定义类型转换器
- 同一类消息或命令映射到同一个函数
- 考勤系统 人员排班设置
- Windows 64位下安装Redis教程
- apache-common pool的使用
- 解决android.permission.WRITE_APN_SETTINGS
- spring MVC详解(转)
- Qt 事件处理和事件过滤器的返回值总结
- eclipse安装gradle插件
- 数据结构_P5