您的位置:首页 > 其它

OCX控件中界面如何捕获键盘消息

2015-11-12 09:28 344 查看
最近在做一个mfc的ActiveX控件,带界面的。首先在工程ResultSubmit的资源视图中Dialog中添加资源IDD_FORMVIEW,修改该窗体的属性:Border——None,Static Edge——true,Style——Child,Visible——True。然后为该窗体添加类CActXDlg,在ResultSubmitCtrl.h中添加变量CActXDlg ActXInterface,重写其中的OnCreate和OnSize消息,在OnCreate消息中添加如下代码:ActXInterface.Create(IDD_FORMVIEW,this);在OnSize消息中添加如下代码:

CRect Rect;

GetClientRect(&Rect);

if(IsWindow(ActXInterface.GetSafeHwnd()))

{

ActXInterface.MoveWindow(Rect,TRUE);

}

注释掉OnDraw中的代码:/*pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH))); pdc->Ellipse(rcBounds);*/即可。

在CActXDlg所在的窗体中捕获键盘消息:在OnCreate中添加代码OnActivateInPlace(TRUE,NULL); 在OnMouseActivate中添加代码

if (!m_bUIActive)

{

OnActivateInPlace (TRUE, NULL);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: