[MFC][ActiveX] 开发点滴
来源:互联网 发布:2017中国网民数据统计 编辑:程序博客网 时间:2024/04/29 16:41
最近,为了配合网站的一项活动,需要开发一款IE的插件(ActiveX),完成图像截图,上传等功能,开发过程也算顺利。但还是有必要把其中几个问题记录一下。
控件的状态:
现在很多开发软件都支持“所见即所得”的开发,用于设计UI。再设计ActiveX时,应注意在代码中区分设计时和运行时的状态。如可能在设计时,就不响应鼠标双击等消息。否则可能导致开发环境崩溃。
可以使用:
if(AmbientUserMode())
{
//运行时代码
}
Static控件的消息:
Windows的开发,一切以“窗口”这一基本概念开始,即Static控件也是一个窗口。故我做一些自定义控件时,有时候即继承CStatic来实现。这时值得一提的是,在Static控件默认的消息处理机制中用样式定义,默认对个别消息(鼠标消息)进行了屏蔽,即不接收。一般解决的办法可以采用重载 CStatic的PreSubclassWindow函数,代码可能类似:
void Ui_Control::PreSubclassWindow()
{
DWORD dwStyle = this->GetStyle();
::SetWindowLong(this->m_hWnd,GWL_STYLE, dwStyle | SS_NOTIFY);//加入SS_NOTIFY,控件将会发送通知消息如WM_LBUTTONDOWN等
CStatic::PreSubclassWindow();
}
COleControl的键盘输入:
与Static类似,COleControl在类中默认不接收键盘输入。加入你要开发一款需要键盘输入的控件,可以处理WM_GETDLGCODE消息,并在处理函数中返回相应的键盘输入的常量即可,如:
UINT CPassCtrl::OnGetDlgCode()
{
//返回值指定了空间接收的键盘输入的按键类型
return DLGC_WANTCHARS|DLGC_WANTARROWS;
}
具体常量定义及含义请查询MSDN。
- [MFC][ActiveX] 开发点滴
- MFC ActiveX开发笔记
- MFC Activex控件开发
- ActiveX——MFC开发ActiveX
- ActiveX 点滴
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX(cpy)
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- VC2005开发MFC ActiveX控件
- 使用MFC开发ActiveX控件
- CFileDialog 打开目录文件 保存目录文件
- 编写安全的Symbian C++游戏代码
- java 截图
- SQL Prompt--SQL语法编辑工具
- 无法显示数据库表数据
- [MFC][ActiveX] 开发点滴
- 以太网帧与ieee 802.3帧
- [转]一直以来伴随我的一些学习习惯
- 自制的C++简单的StringBuffer类!
- EMC AUTOSTART双机热备
- 特殊字符中英文对照 (标点符号的英文)
- 终于遭遇H1N1
- spring AOP动态代理和CGLIB字节码生成
- C#编程经验小结