在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以
在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();
}
?
總結
以上是生活随笔為你收集整理的在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 清除vc6工程中的vss
- 下一篇: 一个简单的HTTP通讯的例子,使用了CI