CWnd::GetControlUnknown

未知の OLE コントロールを指すポインターを取得するためには、この関数を呼び出します。

LPUNKNOWN GetControlUnknown( );

戻り値

CWnd オブジェクトが持っている OLE コントロールの IUnknown インターフェイスへのポインター。 CWnd オブジェクトが OLE コントロール持たない場合は NULL を返します。

解説

この IUnknown ポインターは解放しないでください。 通常、コントロールの特定のインターフェイスを取得するためにこの IUnknown ポインターを使用します。

GetControlUnknown が返すインターフェイスへのポインターは、参照カウントされません。 以前に IUnknown::AddRef を呼び出したことがない場合は、IUnknown::Release を呼び出さないでください。

使用例

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.

// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded 
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);

// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();

// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);

// use IDispatch method to invoke the control's functionality

必要条件

**ヘッダー:**afxwin.h

参照

参照

CWnd クラス

階層図

IUnknown::Release

IUnknown::QueryInterface

概念

CWnd のメンバー