控件大小 按 对话框的大小 比例缩放的问题.
如题.对话框里有一个 Picturebox(IDC_WORKSPACE),使用下面
代码,但没有效果.
如何修改?
int cx, int cy 起什么作用?
void CDrawTestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
CRect rcTmp;
this->GetWindowRect(&rcTmp);
ScreenToClient(&rcTmp);
SetWindowPos(GetDlgItem(IDC_WORKSPACE),
10, 10,
rcTmp.Width(),
rcTmp.Height(),
SWP_DRAWFRAME | SWP_SHOWWINDOW);
}
问题点数:30、回复次数:5Top
1 楼phoenix96_2000(Arcrest)回复于 2005-09-16 09:48:06 得分 30
void CDrawTestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
CWnd * pWnd = GetDlgItem(IDC_WORKSPACE);
if( pWnd )
{
CRect rcTmp;
GetClientRect(&rcTmp);
pWnd->MoveWindow(&rcTmp);
}
}
Top
2 楼lexyohi(lexyohi)回复于 2005-09-16 09:52:26 得分 0
ok,thanks a lot.
pay money!Top
3 楼happyparrot(快乐鹦鹉)回复于 2005-09-16 09:57:00 得分 0
函数根本没有用对阿。
BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
看看这个函数第一个参数吧。看参数名称也能知道是啥意思阿。你怎么传递你要移动的控件的指针呢。Top
4 楼lexyohi(lexyohi)回复于 2005-09-16 10:13:01 得分 0
to happyparrot
能否指出错在哪里 及 正确的用法
抱歉,分已经给完了.不过我在
http://community.csdn.net/Expert/topic/4274/4274320.xml?temp=.1445734
等你,可以pay money!
也欢迎其他朋友参加Top
5 楼phoenix96_2000(Arcrest)回复于 2005-09-16 12:39:52 得分 0
void CDrawTestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
CWnd * pWnd = GetDlgItem(IDC_WORKSPACE);
if( pWnd )
{
CRect rc;
GetClientRect(&rc);
pWnd->SetWindowPos(&CWnd::wndNoTopMost,rc.left,rc.top,rc.Width(),rc.Height(),SWP_SHOWWINDOW);
}
}
具体参数参考MSDN就知道了Top




