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);
}
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);
}
相关文章推荐
- Android清除应用缓存
- 如何提高代码质量
- Base-Android快速开发框架(三)--数据存储之SQLite
- ios开发证书CER文件、P12文件,mobileprovition许可文件的用途
- 【Java并发编程实战】—–“J.U.C”:CountDownlatch
- Java读取Properties的几种方法
- Search Insert Position
- Linux档案内容查阅的命令
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- strlcpy() 函数
- 《AngularJS》5个实例详解Directive(指令)机制
- 从零开始学web,每天写篇博客(日记)Ⅱ
- it 's time to turn to java
- 图片压缩
- MSI和创建被管服务器
- 记一次linux服务器问题处理过程
- (原创)c#学习笔记10--定义类成员02--类成员的其他议题01--隐藏基类方法
- 编译webrtc到pjsip中的方法
- centOS下PHP使用mongodb详细安装过程
- mongodb在shell运行javascript脚本