Article ID: 153582
Article Last Modified on 7/16/2004
//////////////////////////////////////////////////////////////////////
// Control type information
static const DWORD BASED_CODE _dwTestOleMisc =
OLEMISC_INVISIBLEATRUNTIME |
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
Class CTestControl::COleControl
{
.
.
.
// Overrides
virtual void OnSetClientSite();
.
.
// Implementation
protected:
OLE_HANDLE m_hWndParent;
.
.
};
/////////////////////////////////////////////////////////////////////
// CTestCtrl::CTestCtrl - Constructor
CTestCtrl::CTestCtrl()
{
InitializeIIDs(&IID_DTest, &IID_DTestEvents);
// TODO: Initialize your control's instance data here.
m_hWndParent = NULL;
.
.
.
}
void CTestCtrl::OnSetClientSite()
{
if (m_pClientSite)
{
IOleInPlaceSite *pOleInPlaceSite = NULL;
if (NOERROR == m_pClientSite >QueryInterface(IID_IOleInPlaceSite,
(LPVOID *)&pOleInPlaceSite))
{
pOleInPlaceSite->GetWindow((HWND *)&m_hWndParent);
pOleInPlaceSite->Release();
}
else
m_hWndParent = NULL;
}
else
m_hWndParent = NULL;
}
OLE_HANDLE CTestCtrl::GetHWndParent()
{
// TODO: Add your property handler here
return m_hWndParent;
}
Private Sub Form_Click()
Debug.Print Hex(Test1.hWndParent), Hex(Form1.hWnd) 'Both are same
Debug.Print Hex(Test2.hWndParent), Hex(picture1.hWnd)'Both are same
End Sub
Additional query words: 4.00 vb4win vb4all vbctrl
Keywords: kbcode KB153582