CWnd::GetControlUnknown
更新 : 2007 年 11 月
未知の 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