您的位置:首页 > 其它

在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以

2011-04-11 11:14 309 查看
在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以?



// ------------------------------ vc2005 ------------------------------

void CMy001Dlg::RePos()

{

CRect rtClient;

GetClientRect(&rtClient);



CRect rc;

m_txtTmp.GetWindowRect(&rc);



int iWidth = 0; //获得宽度



iWidth = (double)((double)50 / (double)100) * (double)rtClient.Width();



m_txtTmp.MoveWindow(0,0,iWidth,rc.Height(),FALSE);



Invalidate();

}



void CMy001Dlg::OnBnClickedButton1()

{

// TODO: 在此添加控件通知处理程序代码

RePos();

}



void CMy001Dlg::OnSizing(UINT fwSide, LPRECT pRect)

{

CDialog::OnSizing(fwSide, pRect);



// TODO: 在此处添加消息处理程序代码

RePos();



}



//------------------------------ vc6.0 ------------------------------

void CMy002Dlg::RePos()

{

CRect rtClient;

GetClientRect(&rtClient);



CRect rc;

if (!m_txtTmp.GetSafeHwnd())

return;



m_txtTmp.GetWindowRect(&rc);



int iWidth = 0; //获得宽度



iWidth = (double)((double)50 / (double)100) * (double)rtClient.Width();



m_txtTmp.MoveWindow(0,0,iWidth,rc.Height(),TRUE);



Invalidate();



}



void CMy002Dlg::OnSize(UINT nType, int cx, int cy)

{

CDialog::OnSize(nType, cx, cy);



// TODO: Add your message handler code here

RePos();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐