首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

不同属性页使用相同按钮热键?该如何解决

2012-02-24 
不同属性页使用相同按钮热键?请教各位仁兄一个问题:如果在不同的属性页之间使用相同的按钮热键?例如有两个

不同属性页使用相同按钮热键?
请教各位仁兄一个问题:
如果在不同的属性页之间使用相同的按钮热键?
例如有两个属性页,在两个属性页上都可以使用alt+d,但是要响应不同的事件。
请问一下各位应该如何实现?
注册热键的方法我试过了不行。
谢谢

[解决办法]
WM_SYSKEYDOWN
[解决办法]
在主对话框处理,判断一下当前属性页做不同操作!
[解决办法]
我过去也碰到过 在属性页中PreTranslateMessage捕获不到消息,
在WinProc中才捕获的到,
建议你写一个属性页基类CBasePropertyPage::CPropertyPage,
LRESULT CBasePropertyPage::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if (message == WM_KEYDOWN)
{
DoExcute();//一个虚函数,可以在各个具体的属性页中重载,以此来响应不同的事件
...

[解决办法]
CWnd::OnSysKeyDown

If the CWnd object has the input focus, the OnSysKeyDown member function is called by the framework when the user holds down the ALT key and then presses another key.


afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);

热点排行