2 jujiawu1024 jujiawu1024 于 2016.03.29 16:46 提问

MFC程序,在OnSize函数中怎么才能自动缩放
mfc

MFC程序,在OnSize函数中怎么才能自动缩放MainFrame中的内容呢?写了半天没有思路,谢谢!

6个回答

caozhy
caozhy   Ds   Rxr 2016.04.06 03:43
已采纳
oyljerry
oyljerry   Ds   Rxr 2016.03.29 16:48

需要自己根据比例来MoveWindow调整控件等大小达到自动缩放

gewu069
gewu069   2016.03.29 16:48

我也想知道这个答案,有谁能帮忙

esetup
esetup   2016.03.29 17:06

的确是需要自己调用MoveWindow。不过如果子窗口多的话,可以用个容器存储所有MainFrame的子窗口,在OnSize的时候就可以循环来设置,可以少写代码。

lx624909677
lx624909677   Ds   Rxr 2016.03.29 23:22

OnSize是在窗体大小改变的时候才出发的消息处理函数,是先改变窗体大小才走OnSize,改变窗体大小可以用MoveWindow

VisualEleven
VisualEleven   Ds   Rxr 2016.04.01 17:55

你说的内容指的是什么?是各个子窗口的大小吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  cx,cy  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘函数,       再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
VC中使用OnSize函数,设置控件位置的注意事项
VC在OnSize函数中可以根据当前窗口的大小,来改写窗口里面子控件的位置、大小。 但是注意,OnSize在窗口启动过程中,会多次被调用,所以,不能简单的在该函数中调用GetDlgItem()获取子控件的窗口指针。 最简单的方式,设置一个全局变量,初始化时设置为FALSE,在OnInitialUpdate()或者OnInitDialog()后将其设置为TRUE,在OnSize函数里使用GetD
MFC窗口变化消息( OnSize、OnSizing和OnGetMinMaxInfo)
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。  
函数onsize()与onsizing()区别
OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(cx和cy指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了
MFC界面控件自动缩放
/*重写Onsize */ void CVehiclesim::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy);//注意这里的范围 if (cx <= 1 || cy <= 1 ) return; #ifdef _WIN32_WCE m_Grid.Move
MFC OnSize事件调用时间
在Ocx控件被加载时,第一次调用OnSize事件实在控件中的各个部件未加载前,此时如果操作控件中的控件会出现控制针异常,需要提前判断。 CTestDlg m_dlg; int CTestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) ==
OnSize函数
OnSize函数的cx cy都是"当前对话框"的宽度和高度,并非是屏幕的
[MFC]Dialog窗口大小调整控制OnSize/OnSizing
参考:http://www.360doc.com/content/08/1210/09/799_2090143.shtml 参考:MSDN   0. 启用对话框为可调节对话框     在对话框 属性->外观-->Border,选择Resizing   1. 对话框的大小限制,预想好允许用户调整的大小范围,通常下限为我们自认为需要确保的大小信息      MinWidth   = ;
对话框的OnSize()和OnWindowPosChanged()的理解
最近的项目是一个对话框的项目,之前没有做过这种项目,
MFC自绘窗口的时候,OnSize
void CDialogEx::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); //计算偏移 INT nYPos=1; INT nXPos=cx-nCloseWidth; //设置位置 m_rcButton[BST_CLOSE].SetRect(nXPos,