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