CRect rc=rcBounds;;
if(m_ClientDlg)
{
//MessageBox(_T("COcxCzyCtrl::OnDraw 0...."),NULL,0);
//m_Client_Dlg->RedrawWindow();
m_ClientDlg->GetWindowRect(&rc);
int cx,cy;
GetControlSize(&cx,&cy);
if(cx!=rc.Width()||cy!=rc.Height())
this->SetControlSize(rc.Width(),rc.Height());
return;
}else
{
MessageBox(_T("COcxCzyCtrl::m_ClientDlg==NULL 0...."),NULL,0);
}
1、在...Ctrl 中的 OnCreate 消息中 创建窗口
if(m_ClientDlg==NULL)
{
bool bCreateDlg=FALSE;
m_ClientDlg=new CVideoDlg(this);
bCreateDlg=this->m_ClientDlg->Create(IDD_DIALOG_VideoDlg,this);
TRACE("Create m_Client_Dlg=0x%X",m_ClientDlg);
m_ClientDlg->ShowWindow(SW_SHOW);
if(bCreateDlg)
{
// MessageBox(_T("m_ClientDlg->Create OK ...."),NULL,0);
}
else
{
MessageBox(_T("m_ClientDlg->Create error ...."),NULL,0);
}
}else
{
}
在 OnDraw 函数中 添加如下函数可以防止画面残留痕迹
static const DWORD BASED_CODE _dwOcxCzyOleMisc =
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
另外要注意设置对话框的属性,显示,子窗口