2 panpanhuahua1234 panpanhuahua1234 于 2014.12.02 08:58 提问

MFC怎样使对话框缩小控件随之缩小

搜了很多资料都是关于让对话框变大时,控件随之改变的,但是没有对话框缩小时控件随之缩小的。请问如果我要缩小对话框,并想让控件随之缩小,怎么做?

2个回答

piaobotudou
piaobotudou   2014.12.02 20:16

响应OnSize根据新的大小重新计算各控件位置和大小,不管是放大还是缩小方法是一样的

VisualEleven
VisualEleven   Ds   Rxr 2014.12.03 18:50

codeproject上搜索EASYSZIE,比较容易。
原理都是在父窗口类的WM_SIZE消息的响应函数OnSize中去MoveWindow/SetWindowPos()子控件的显示区域位置。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC 对话框所有控件同时缩放
一、将对话框属性设置为 Resizing
MFC放大缩小界面,使控件跟着放大缩小
第一步:先建一个MFC工程,在界面上随便拖几个控件,如下图。 第二步:添加界面的响应函数OnSize() 第三步:头文件中添加如下几个变量 第四步:cpp文件中添加全局变量 第五步:OnInitDialog()初始化函数中添加如下语句 第六步:编写ReSize(int nID)函数 第七步:OnSize()响应函数里的语句如下: 放大缩小效果如下: 放大前:
MFC控件随着对话框等比例放大或缩小
1.首先在oninitdlg中 计算出当前对话框的大小与最大化后大小,注意要用float值,不然误差很大. CRect rect;  ::GetWindowRect(m_hWnd,rect);  ScreenToClient(rect);  m_nDlgWidth = rect.right - rect.left;  m_nDlgHeight = rect.bottom - rect
MFC 对话框伸缩 初始收缩
看完孙鑫老师的视频,就能很轻松地实现对话框的伸缩这个功能,但是他演示的是点击按钮后实现伸缩功能。就像他演示的那个画图工具一样,这里我想要的是对话框初始显示的时候就是收缩后的样子。         这种效果可以这样来实现: 1.由于对话框在显示之前会调用OnInitDialog()这个函数,我们就在这个函数中获得初始化时对话框的大小rectOrig,和separator的rectSmall 2
MFC多文档中FromView中控件随着窗口的放大缩小的功能实现
本人参考这个程序自己写了在CFromView中的控件随着窗口放大缩小的程序 在单文档中的 CFromView控件随着窗口放大缩小的问题完全没有问题。 而在多文档的CFromView 中,计算出现很大的偏差,本人估计可能是在初始化的时候OnInitialUpdate()调用GetClientRect( &r );GetWindowRect( &rr ); 的时候 窗口并没有处于最大化的状态!! 大家帮我看看!!
简单的MFC在Picture控件上放大缩小图像,显示时:缩小功能正常,放大功能有问题
//载入原始图 Mat srcImage = imread("D:\\1.bmp",1); //工程目录下应该有一张名为1.jpg的素材图 Mat tmpImage,dstImage1,dstImage2;//临时变量和目标图的定义 tmpImage=srcImage;//将原始图赋给临时变量 float up=6;resize(tmpImage,dstImage1,Size
MFC基本对话框中,窗口最大化后,子控件也等比例放大!
一 在头文件  POINT Old;//存放对话框的宽和高。 OnInitDialog()   //计录宽和高。  CRect rect;     GetClientRect(&rect);     //取客户区大小   Old.x=rect.right-rect.left;  Old.y=rect.bottom-rect.top; 二 添加 WM_SIZE消息:  if
vs2010缩小MFC工程大小的方法
MFC工程文件编译运行之后的工程大小往往都是100M兆以上,下面介绍一下vs2010中缩小MFC工程大小的方法。 工程文件缩小前的大小:120M。 方法分为两步: (1)清理解决方案:在vs2010菜单栏点击“生成”----->“清理解决方案”。 (2)在工程文件所在的文件目录下,删除数据库文件。 工程文件缩小完成,完成后的大小:362KB。 说明:在网上查阅资料,有提到关闭v
MFC总结(2)---MFC窗口的缩放
我们在创建MFC项目的时候,创建的窗口,默认是不可以用鼠标进行改变的。要想达到用鼠标缩放窗口,我们只需要更改一下该窗口的属性即可: 修改对话框模板属性 styles-->>Border 属性改为Resizing 我们虽然能够达到了用鼠标进行缩放窗口的效果,但是如果有内容的话,会发现当缩放的时候会有问题。所以,我们还需要解决下这个问题: 窗口中控件是否随着窗口大小改变而改变,需要使
MFC改变对话框大小,控件的大小和位置随着改变
经过了验证,是能够使用的,对于静态文本可能会有一些问题,但问题不大,属于转载的别人的,对里面的一些错误,楼主做出了修改。 首先假设这个对话框类为CMyDialog。 第一步:在CMyDialog中添加一个成员变量CRect m_rect; 第二步:在CmyDialog的初始化函数OnInitDialog()中添加GetClientRect(&m_rect); 第三步:自定义一个函数,根据控