duilib中如何调用ocx里面的方法
如题,duilib中用了DSOFramer的ocx控件,已经显示出来了,但不知道如何去调用ocx里面的方法?
看到网上其他是这样子用的
我的用法是这样的,
看到网上其他是这样子用的
CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_PaintManager.FindControl(_T("ActiveXDemo1")));
if (pActiveXUI)
{
IWebBrowser2* pWebBrowser = NULL;
pActiveXUI->SetDelayCreate(false); // 相当于界面设计器里的DelayCreate属性改为FALSE,在duilib自带的FlashDemo里可以看到此属性为TRUE
pActiveXUI->CreateControl(CLSID_WebBrowser); // 相当于界面设计器里的Clsid属性里填入{8856F961-340A-11D0-A96B-00C04FD705A2},建议用CLSID_WebBrowser,如果想看相应的值,请见<ExDisp.h>
pActiveXUI->GetControl(IID_IWebBrowser2, (void**)&pWebBrowser);
if (pWebBrowser != NULL)
{
//pWebBrowser->Navigate(L"https://code.google.com/p/duilib/",NULL,NULL,NULL,NULL);
pWebBrowser->Navigate(L"http://www.baidu.com/", NULL, NULL, NULL, NULL); // 由于谷歌时不时被墙,所以换成反应快的网站
pWebBrowser->Release();
}
}
我的用法是这样的,
CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ActiveXUI1")));
if( pActiveXUI )
{
CFramercontrol1 dsoFramer;
pActiveXUI->CreateControl(dsoFramer.GetClsid());
}
CFramercontrol1 *pFramer = NULL;
CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ActiveXUI1")));
if( pActiveXUI )
{
CFramercontrol1 dsoFramer;
IDispatch *pDispatch = NULL;
//pActiveXUI->GetControl(MIDL_INTERFACE("00460182-9E5E-11d5-B7C8-B8269041DD57"), (LPVOID*)&pFramer);
//pActiveXUI->GetControl(IID_IOleObject, (LPVOID*)&pFramer);
pActiveXUI->GetControl(IID_IDispatch, (LPVOID*)&pDispatch);
//pActiveXUI->GetControl(IID_IAsyncOperation, (LPVOID*)&pFramer);
//pFramer = reinterpret_cast<CFramercontrol1*>(pDispatch);
}
if (NULL != pFramer)
{
pFramer->put_Menubar(FALSE); // 崩溃
}
...全文
相关推荐
DUIlib使用Fastreport
本文介绍了一个使用Duilib库创建的OCX应用程序的实现过程。程序通过初始化COM库,创建自定义窗口类CFrameWindowWnd实例,设置UI资源路径,并初始化UI管理器。创建并显示框架窗口,设
Flash10.3_11.3_ocx
本文介绍一种通过注册flash_xxx.ocx控件实现PC机无需安装最新版FlashPlayer即可运行SWF文件的方法。该方法适用于未使用playglobal.swc 3D API组件的SWF文件及
TurboTreeList_OCX.zip
TreeviewList OCX控件,支持头几项列可以固定,其他功能类似于其他的控件,再也不用发愁多列滚动时前面列无法固定的问题,可以设置图片,分层,编辑内容,里面带了一个foxpro的 sample
IE内核的多标签浏览器
**用户界面设计**:学习界面设计原则和方法,如何提高应用的美观性和易用性。6. **组件开发与集成**:掌握如何在项目中引入和使用外部控件或组件,以增强功能。7.
用ATL和MFC来创建ActiveX控件.doc
在Windows编程领域,ActiveX控件是一种广泛应用的技术,它基于组件对象模型(COM)。本文将探讨如何使用ATL(Active Template Library)和MFC(Microsoft Foundation


