我做了一个程序,找到一个窗体后,并将窗体嵌入到图象框里,我的程序是基于对话框的,我的界面上有两个按钮,一个是用于打开另一个程序的窗口,另一个则是捕获窗口并将其显示到 对话框里,现在我先点击第一个按钮,成功,然后嵌进去,也成功。后来我想让窗体一出现马上嵌进去,于是用了一个计时器,结果发现计时器根本就不起作用,请大家帮忙看看是怎么回事。
附代码;
在对话框的OnCreate()里加入SetTimer(1,50,NULL);
在OnTimer()的代码:
CDC* pDC=GetDC();
m_plotH=::FindWindow(NULL,"Figure No. 1");
if(m_plotH!=NULL&&nIDEvent==1)
{
//pDC->TextOut(10,10,"found");
CRect rect;
::SetParent(m_plotH,this->GetSafeHwnd());
CWnd *pWnd=NULL;
pWnd=FromHandle(m_plotH);
m_pic.GetWindowRect(&rect);
ScreenToClient(&rect);
pWnd->MoveWindow(rect.left,rect.top,rect.right- rect.left,rect.bottom-rect.top,FALSE);
pWnd->ModifyStyle (WS_CAPTION|WS_BORDER|WS_THICKFRAME,WS_MAXIMIZE,0);
pDC->TextOut(10,20,"found");
KillTimer(1);
}
else
{ pDC->TextOut(10,20,"not found");}
CFormView::OnTimer(nIDEvent);
附代码;
在对话框的OnCreate()里加入SetTimer(1,50,NULL);
在OnTimer()的代码:
CDC* pDC=GetDC();
m_plotH=::FindWindow(NULL,"Figure No. 1");
if(m_plotH!=NULL&&nIDEvent==1)
{
//pDC->TextOut(10,10,"found");
CRect rect;
::SetParent(m_plotH,this->GetSafeHwnd());
CWnd *pWnd=NULL;
pWnd=FromHandle(m_plotH);
m_pic.GetWindowRect(&rect);
ScreenToClient(&rect);
pWnd->MoveWindow(rect.left,rect.top,rect.right- rect.left,rect.bottom-rect.top,FALSE);
pWnd->ModifyStyle (WS_CAPTION|WS_BORDER|WS_THICKFRAME,WS_MAXIMIZE,0);
pDC->TextOut(10,20,"found");
KillTimer(1);
}
else
{ pDC->TextOut(10,20,"not found");}
CFormView::OnTimer(nIDEvent);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货