次の方法で共有


CWnd::GetControlUnknown

不明な OLE コントロールへのポインターを取得するには、このメンバー関数を呼び出します。

LPUNKNOWN GetControlUnknown( );

戻り値

CWnd のこのオブジェクトによって表される OLE コントロールの IUnknown インターフェイスへのポインター。このオブジェクトは、OLE コントロールを表さない場合、戻り値は nullです。

解説

この 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