MFC实现对话框最大化时控件的集体跟踪
来源:互联网 发布:北京域名备案 编辑:程序博客网 时间:2024/06/04 18:19
MFC实现对话框最大化时控件的集体跟踪
1.在对话框类中(.h文件)定义如下变量和函数
void ReSize(); POINT old;
afx_msg void OnSize(UINT nType, int cx, int cy);
2.在OnInitDialog()中 计算出原始对话框的大小
CRect rect; GetClientRect(&rect); //取客户区大小 old.x=rect.right-rect.left; old.y=rect.bottom-rect.top;
3.添加 WM_SIZE消息
void CSeakyDlg::OnSize(UINT nType, int cx, int cy){CDialogEx::OnSize(nType, cx, cy);if (nType == SIZE_RESTORED || nType == SIZE_MAXIMIZED){ReSize();}}
4.刷新控件函数
void CSeakyDlg::ReSize(){float fsp[2];POINT Newp; //获取现在对话框的大小 CRect recta;GetClientRect(&recta); //取客户区大小 Newp.x = recta.right - recta.left;Newp.y = recta.bottom - recta.top;fsp[0] = (float)Newp.x / old.x;fsp[1] = (float)Newp.y / old.y;CRect Rect;int woc;CPoint OldTLPoint, TLPoint; //左上角 CPoint OldBRPoint, BRPoint; //右下角 HWND hwndChild = ::GetWindow(m_hWnd, GW_CHILD); //列出所有控件 while (hwndChild){woc = ::GetDlgCtrlID(hwndChild);//取得ID GetDlgItem(woc)->GetWindowRect(Rect);ScreenToClient(Rect);OldTLPoint = Rect.TopLeft();TLPoint.x = long(OldTLPoint.x*fsp[0]);TLPoint.y = long(OldTLPoint.y*fsp[1]);OldBRPoint = Rect.BottomRight();BRPoint.x = long(OldBRPoint.x *fsp[0]);BRPoint.y = long(OldBRPoint.y *fsp[1]);Rect.SetRect(TLPoint, BRPoint);GetDlgItem(woc)->MoveWindow(Rect, TRUE);hwndChild = ::GetWindow(hwndChild, GW_HWNDNEXT);}old = Newp;}
阅读全文
0 0
- MFC实现对话框最大化时控件的集体跟踪
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- MFC对话框最大化时控件放大
- MFC 实现对话框最大化
- MFC对话框最大化实现
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
- MFC 控件的最大化
- MFC对话框程序最大化时控件相应变化
- MFC 对话框最大化时控件也随比例最大化或者还原
- MFC 对话框最大化时控件也随比例最大化或者还原(Resize)
- MFC 对话框最大化时控件也随比例最大化或者还原
- "通配符"和"正则表达式"的区别
- NSIS安装打包程序的版本比较方便做后续逻辑处理
- C++的单例模式与线程安全单例模式(懒汉/饿汉)
- 使用springMvc上传文件
- jeasyui-combobox增加“请选择”选项
- MFC实现对话框最大化时控件的集体跟踪
- 发布ArcGIS10.1影像服务
- UE4引擎Android打包只生成apk而不需要obb文件
- Unity3D事件函数的执行顺序
- stdlib.h和stdio.h的区别
- 前端知识图谱
- Android7.0中文API -- SeekBar
- oracle服务端安装问题解决
- tensorflow学习笔记(二):机器学习必备API