mfc dialog做个浏览器 怎么把Esc按键消息传给浏览器里的flash~ 200

默认情况是:按Esc键->CDialog::OnCancel只调用CDialog::EndDialog就完了...为了按esc不自动退出我重载了OnCancel()也解决... 默认情况是:
按Esc键
->CDialog::OnCancel只调用CDialog::EndDialog
就完了...
为了按esc不自动退出 我重载了OnCancel() 也解决了这个问题
但是esc不能传给dialog里的flash里的游戏里的人物属性窗口
实现人物属性窗口关闭~

比如这个dialog是个浏览器
里面跑一个页游
页游关闭人物属性窗口的时候 就会用到Esc键
展开
 我来答
龚炜林
2012-08-12 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:583万
展开全部
重载虚函数
BOOL CNetHelperDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_ESCAPE)//退出键Esc
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
这里判断的是KEYDOWN,你把WM_KEYDOWN改为WM_KEYUP就可以获得按键起来的消息
要获取其它按键,请自己搜索相关系统按键与非系统按键的键值即可。
追问
BOOL CNetHelperDlg::PreTranslateMessage(MSG* pMsg)
这个我懂 我也搞过 不过用这个是完全屏蔽Esc
我的意思是 Esc要能用 并且支持到flash游戏里去
所以不能这样搞
追答
你不能给控制flash的对象发送消息?你收到Esc之后,发个消息想怎么做就怎么做呗。
百度网友6eab688
2012-08-12 · TA获得超过4692个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:951万
展开全部
在OnCancel()中,向页面内的控件(比如浏览器控件)发送ESC的按键消息。
更多追问追答
追问
我获取了dialog句柄和浏览器控件句柄
分别对他们试了 都没有效果(我保证消息发送有执行成功)

::SendDlgItemMessage(hwnd, IDD_CRACKBROWSER_DIALOG, WM_KEYDOWN, VK_ESCAPE, 1);
::SendDlgItemMessage(hwnd, IDD_CRACKBROWSER_DIALOG, WM_KEYUP, VK_ESCAPE, 1);

::SendMessage(hwnd,WM_KEYDOWN, VK_ESCAPE, 1);
::SendMessage(hwnd,WM_KEYUP, VK_ESCAPE, 1); //释放
追答
第2个,向对话框发消息肯定不对,这不就发给自己这个窗口了吗(这样是否形成了无限循环)

第1个,向IDD_CRACKBROWSER_DIALOG发送消息,但这个ID看着像是对话框的ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西柯七号
2012-08-12 · TA获得超过1891个赞
知道小有建树答主
回答量:882
采纳率:0%
帮助的人:310万
展开全部
互采
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式