谁能告诉我马上把100分给他,在 ATL 对话框里, 怎样为 Activex 控件定义一个成员变量以便在程序中访问它? 在 ATL 对话框里, 怎样为 Activex 控件定义一个成员变量以便在程序中访问它?我在对话框中插入了一个 Activex 控件,当不知道怎么为它定义一个控件成员变量。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我实现的,在ATL对话框中加了一个RichTextBox.private: CComPtr<IRichText> m_objRichText; void FormatErrorMessage(_com_error &theErr, string &strMsg); LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { HRESULT hr = GetDlgControl(IDC_RICHTEXTCTRL1, IID_IRichText, (void**)&m_objRichText); if(FAILED(hr)) { } return 0; } IID_IRichText, 你是怎么知道的。它是怎么来的? IID_IRichText,它是接口的 ID ,但我不知道它的值是多少。IDC_RICHTEXTCTRL1 才是控件的 ID 。 #import "组建实现的路径"然后利用生成的tlh文件定义成员变量,创建控件实例即可。比如以ActiveSkin控件为例。首先把控件放入到对话框中,然后加入#import "D:\WINDOWS\System32\actskin4.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids 对话框的继承类改为CAxDialogImpl加入一个智能指针成员变量,智能指针类型可以参考编译支持生成的tlh文件。并参考ActiveSkin ActiveX控件的使用方法。基本上和MFC差不多。创建组件类的实例,调用其方法。 GDI MFC 多窗体操作· 把 datetimepicker 日期现实在edit 中 【请教】VC中,怎样将控件设置为控件数组? [求助,一个基础问题]写一个函数,在MFC程序与console程序中都能显示,说不太明白,呵呵…… 谁知道匿名的网上冲浪究竟有什么好处?? IP地址的三种表示格式及在开发中的应用 请教!! 高手请进! 感谢everandforever(Forever),RedFire(丹焰)!来领分吧! 我能开多高的工资? 怎么才能更新菜单(不用ONUPDATECOMMANDUI),在别的地方! 关于属性页的问题,请进
private:
CComPtr<IRichText> m_objRichText; void FormatErrorMessage(_com_error &theErr, string &strMsg);
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
HRESULT hr = GetDlgControl(IDC_RICHTEXTCTRL1, IID_IRichText, (void**)&m_objRichText);
if(FAILED(hr))
{
} return 0;
}
IDC_RICHTEXTCTRL1 才是控件的 ID 。
然后利用生成的tlh文件定义成员变量,创建控件实例即可。
比如以ActiveSkin控件为例。首先把控件放入到对话框中,然后加入
#import "D:\WINDOWS\System32\actskin4.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
对话框的继承类改为CAxDialogImpl
加入一个智能指针成员变量,智能指针类型可以参考编译支持生成的tlh文件。并参考ActiveSkin ActiveX控件的使用方法。基本上和MFC差不多。
创建组件类的实例,调用其方法。