pretranslatemessage的用法

renhaibo321 2011-02-23 10:45:10
建立了一个基于对话框的工程,又加载了一个自己的CLabel类,基类CStatic,。然后在对话框中添加了一个CLabel m_label变量,我想在对话框中重载pretranslatemessage函数,在F2—F7键按下时响应相应事件,m_label自己也相应F2-F7的事件,但在对话框的按键不同,m_label的按键对应的事件不同,即:
testDlg::pretranslatemessage()
{if(pMsg->wParam==VK_F3)
//再按下F3见后,图片缩放
if(pMsg->wParam==VK_F4)
//再按下F4见后,图片漫游
...
}
CLabel::pretranslatemessage()
{if(pMsg->wParam==VK_F3)
{
//放大图片
}
if(pMsg->wParam==VK_F4)
{
//缩小图片
}

//漫游怎么实现,也用F3和F4键

...
}
...全文
115 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlyliu 2011-02-23
  • 打赏
  • 举报
回复
还是得从对话框入手,当pretranslatemessage的时候,你先判断当前是否选择了控件,如果没有选择就响应对话框的事件,如果选择了你就响应控件的事件。。。
renhaibo321 2011-02-23
  • 打赏
  • 举报
回复
我想在控件响应按键时,屏蔽掉对话框对按键的响应!请指教,指教
onlyliu 2011-02-23
  • 打赏
  • 举报
回复
在CLabel 里面添加函数接口,在testDlg::pretranslatemessage()时响应对应的按键,然后调用你CLabel的接口。或者把消息继续下发。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧