我定义了一个对话框,里面有几个控件。我想在调整对话框大小的同时(比如说最大化),比例的调整里面的控件的大小及位置,该怎么做?
解决方案 »
- VC使用IHTMLElement模拟点击网页按钮的问题!
- 请问linux下网络游戏服务器是依据什么机制创立的?
- 通讯ASCCII码和十六进制转换问题。
- 一个关于MFC 怎样封装的问题。
- 关于工具条的问题
- 某些网络程序有有网络设置的选项比如,局域网或者专线上网还有拨号设置,这个对程序有什么用?
- 线程间通信后遇到的一个问题
- Access数据库的问题?
- 如何改变CDialogBar的背景色和其中控件的文字颜色和背景色?
- CString如何转换int型
- 给新年第一个回贴人(幸运儿)的200分(VC版)
- error C2719: '_Val': formal parameter with __declspec(align('16')) won't be aligned
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{ float rx, ry;
CRect rc,rc1;
CContactlineView *pview = (CContactlineView*)GetActiveView();
GetWindowRect(&rc);
rx = cx/rc.Width();
ry = cy/rc.Height(); //得到一个控件的句柄
CWnd *pwnd = pview->GetDlgItem(IDC_BUTTON_PARASET);
pwnd->GetWindowRect(&rc1);
//重新调整这个控件的大小和位置
rc1.right = rc1.left + rc1.Width()*rx;
pwnd->MoveWindow(&rc1);
CFrameWnd::OnSize(nType, cx, cy);
}但是,每次在CWnd *pwnd = pview->GetDlgItem(IDC_BUTTON_PARASET);出错。
不知道大家有什么高招,谢谢!
正确的用法是在Movewindow之前选判断该控件的句柄是否有效