导航:  »没有这个级别以上的主题«

COleCon Class

上一页返回章节概述下一页

COleCon 使用自定义控件实现一个OLE容器来承载ActiveX控件。

 

要使用它,请在应用程序中包含COleCon.inc,并调用其中一个构造函数。 例如,以下代码嵌入WebBrowser控件的实例并导航到站点:

 

CONST IDC_WEBBROWSER = 1001

 

DIM pOleCon AS COleCon PTR = NEW COleCon(@pWindow, IDC_WEBBROWSER, "Shell.Explorer", _

  0, 0, pWindow.ClientWidth, pWindow.ClientHeight - 20)

 

DIM pWb AS IWebBrowser2 PTR = cast(IWebBrowser2 PTR, pOleCon->OcxDispPtr)

IF pWb THEN

 DIM vUrl AS VARIANT

 vUrl.vt = VT_BSTR

 vUrl.bstrVal = SysAllocString("http://www.planetsquires.com/protect/forum/index.php")

 DIM hr AS HRESULT = pWb->lpvtbl->Navigate2(pWb, @vUrl, NULL, NULL, NULL, NULL)

 VariantClear @vurl

END IF

 

它也可以用于嵌入可视化OCX,而无需首先注册它们。 例如,以下代码嵌入在旧的VB6 MSCOMCT2.OCX中实现的MonthView日历的实例。 MSCOMCT2.OCX未在我的系统中注册。

 

DIM wszLibName AS WSTRING * 260 = ExePath & "\MSCOMCT2.OCX"

DIM CLSID_MSComCtl2_MonthView AS CLSID = (&h232E456A, &h87C3, &h11D1, {&h8B, &hE3,&h00, &h00, &hF8, &h75, &h4D, &hA1})

DIM IID_MSComCtl2_MonthView AS CLSID = (&h232E4565, &h87C3, &h11D1, {&h8B, &hE3,&h00, &h00, &hF8, &h75, &h4D, &hA1})

DIM RTLKEY_MSCOMCT2 AS WSTRING * 260 = "651A8940-87C5-11d1-8BE3-0000F8754DA1"

DIM pOleCon AS COleCon PTR = NEW COleCon(@pWindow, 1001, wszLibName, CLSID_MSComCtl2_MonthView, _

  IID_MSComCtl2_MonthView, RTLKEY_MSCOMCT2, 0, 0, pWindow.ClientWidth, pWindow.ClientHeight)

 

CWebBrowser类使用COleCon将Web浏览器控件嵌入到Free Basic应用程序中。