MFC控件位置随窗体大小而改变
来源:互联网 发布:看看电视软件下载 编辑:程序博客网 时间:2024/05/19 04:28
因为在做上位机,需要MFC中的控件位置随窗体大小而改变,以下是代码:
首先初始化CRect m_rect,该成员变量用来记录窗体的当前大小。
void CTEST4View::OnSize(UINT nType, int cx, int cy){CFormView::OnSize(nType, cx, cy);CWnd *pWnd=NULL;this->GetWindowRect(&m_rect);//获取当前窗体的坐标 if(nType==1) return;//<span style="color: rgb(70, 70, 70); line-height: 26px;"><span style="font-family:SimSun;font-size:10px;">这一句必须添加,否则最小化恢复的时候会出错。</span></span> pWnd = GetDlgItem(IDC_BUTTON1); //获取控件句柄 if(pWnd) { CRect rect; //获取控件变化前的大小 pWnd->GetWindowRect(&rect); //控件在窗口坐标系下的位置 ScreenToClient(&rect); //将窗口坐标系下的位置转换为控件坐标系下的位置 int cwidth =0; int cheight = 0; cwidth =rect.right-rect.left; cheight = rect.bottom - rect.top; if(m_rect.Width()!=0&&m_rect.Height()!=0){ rect.left=0.8*m_rect.Width(); rect.right=0.8*m_rect.Width()+cwidth; rect.top=0.8*m_rect.Height(); rect.bottom=0.8*m_rect.Height()+cheight; pWnd->MoveWindow(rect);//设置控件大小 } } GetClientRect(&m_rect);//将变化后的窗口大小设为旧大小}关于GetWindowRect和GetClientRect这两个函数,以下内容摘自一篇博客,令鄙人受益匪浅,拿来和大家一起分享:
0 0
- MFC控件位置随窗体大小而改变
- 控件随窗体大小改变而改变大小和位置
- MFC窗体所有控件大小随窗体改变而改变
- MFC 控件大小随窗体改变而改变大小
- MFC 控件大小随窗体改变而改变大小
- MFC 控件大小随窗体改变而改变大小
- MFC控件大小随窗体改变而改变
- mfc 控件大小随窗体改变而改变
- MFC控件大小随窗体改变而改变 .
- MFC控件大小随窗体大小而改变
- MFC控件大小随窗体大小而改变
- MFC控件大小随窗体大小而改变
- MFC 控件大小随窗体改变而改变大小的总结
- winform中,如何控制控件位置随窗体的大小改变而改变
- winform中,如何控制控件位置随窗体的大小改变而改变
- MFC 控件随窗口大小而改变
- 让控件随窗体大小改变而改变
- [C#]控件大小随窗体改变而改变
- SmartTabLayout-master Demo设计浅谈
- 处女真那么重要吗?
- 灵动的别墅空间 抒发朴实的自然之美
- 【Android】深入理解Android中的自定义属性
- MYSQL时间函数
- MFC控件位置随窗体大小而改变
- Apk修改利器:ApkToolkit v2.1用法
- unity3d 鱼群 粗糙版
- 文章标题
- sql 分组后排名,ROW_NUMBER()OVER()函数的使用
- iOS开发- ios学习资源(持续更新)
- 细数AutoLayout以来UIView和UIViewController新增的相关API – UIViewController篇
- android签名
- DBW进程trace文件报sfdstblkini : skgfrgblkdev failure : block device =