窗体缩放方法
来源:互联网 发布:微商团队怎么优化 编辑:程序博客网 时间:2024/04/27 13:25
首先,一个窗口是否可以拖动改变大小决定于border的属性,
仅当border为Resizing是窗口可以拖动改变大小,其它属性时则不可以。
例子:
通常,主窗体上有TabCtrl控件,并且有通过TabCtrl加载的子窗口,在子窗口有ListCtrl控件和Button,那么:
当主窗体缩放时,需要同步放大TabCtrl和当前子窗口,并且当子窗口被缩放时,上面的ListCtrl个Button控件也要跟着调整大小和位置。
方法如下:
步骤一:重载主窗口的WM_SIZE方法,用于处理TabCtrl和其子窗口的缩放结果。注意不要使用WM_SIZING,否则缩放过程会闪烁。
//窗体缩放事件void CAppConfigDlg::OnSize(UINT nType, int cx, int cy){CDialogEx::OnSize(nType, cx, cy);// TODO: 在此处添加消息处理程序代码CRect rect;GetClientRect(&rect);//TabCtrl缩放处理if (m_TabCtrl.GetSafeHwnd()){m_TabCtrl.MoveWindow(0, 0, rect.Width(), rect.Height());}//子页面缩放处理if (m_clsUploadAPK.GetSafeHwnd()){rect.left += 4;rect.top += 30;rect.right -= 3;rect.bottom -= 3;m_clsUploadAPK.MoveWindow(&rect);}}
步骤二:重载主窗口WM_SIZING方法,用于锁定窗体最小尺寸,这个需要在缩放过程中不断控制。如果不想控制最小尺寸,可以忽略此步骤。
//锁定窗口最小尺寸void CAppConfigDlg::OnSizing(UINT fwSide, LPRECT pRect){CDialogEx::OnSizing(fwSide, pRect);// TODO: 在此处添加消息处理程序代码if (pRect->right - pRect->left < m_nMinWidth){pRect->right = pRect->left + m_nMinWidth;}if (pRect->bottom - pRect->top < m_nMinHeight){pRect->bottom = pRect->top + m_nMinHeight;}}
步骤三:重载子窗口的WM_SIZE方法,用于处理子窗口上面ListCtrl和Button的位置调整
//控件位置调整void CUploadAPK::OnSize(UINT nType, int cx, int cy){CDialogEx::OnSize(nType, cx, cy);// TODO: 在此处添加消息处理程序代码//调整ListCtrlif (m_ctrApkList.GetSafeHwnd()){m_ctrApkList.MoveWindow(5, 47, cx - 12, cy - 85);}//调整按钮CRect rect;((CButton*)GetDlgItem(IDC_Upload))->GetClientRect(&rect);((CButton*)GetDlgItem(IDC_Upload))->MoveWindow(cx - rect.Width() - 10, cy - rect.Height() - 10, rect.Width(), rect.Height());}
0 0
- 窗体缩放方法
- WPF 无边框窗体 缩放窗体
- C#实现窗体内容随着窗体的缩放而缩放
- 控件按比例随窗体缩放
- 控件按比例随窗体缩放
- 非常好的窗体自由缩放
- WinForm 窗体缩放动画效果
- VB 控件随窗体缩放
- Qt之实现窗体缩放
- 一种同时缩放多个wpf窗体的方法和装置
- Mdi窗体背景随屏幕缩放
- 控件随窗体拖动而缩放
- pb 窗体控件等比例缩放
- QT让一个图片随窗体缩放
- WPF无边框透明窗体的缩放
- WPF无边框透明窗体的缩放
- C#Winform控件随窗体缩放
- WPF无边框透明窗体的缩放
- 笔记《程序员的数学》--感悟之一:关于0
- java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive
- The 2px border problem in QGraphicsView
- initcall func(三)
- Nmap扫描原理与用法
- 窗体缩放方法
- C++类的继承
- visual studio 2013 中“.”后面每条提示前的小图标----“类视图”和“对象浏览器”图标
- 微信的传播特性及传播模式 转!
- ubuntu UltraEdit 反复试用的办法
- [转]C++学习心得
- initcall func(四)
- cocos2d-x 3.x Git ignore文件内容
- 如何写好一篇高质量的paper