Visual Studio 2008
Call this member function to retrieve a pointer to an unknown OLE control.
A pointer to the IUnknown interface of the OLE control represented by this CWnd object. If this object does not represent an OLE control, the return value is NULL.
// 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