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

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

mfc
0

6个回答

1

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

0

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

0

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

0

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

0

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

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MFC窗体消息之尺寸被改变 OnSize()
在窗口的大小更改后,框架调用该成员函数。 afx_msg void OnSize(    UINT nType,     int cx,     int cy  ); 参数nType 指定请求的调整大小的类型。  此参数可以是下列值之一:     SIZE_MAXIMIZED 窗口最大化。     SIZE_MINIMIZED 窗口最小化。    SIZE_RESTOR
MFC中OnInitDialog与OnSize函数谁先调用
BOOL CMatchingDlg::OnInitDialog() {     AfxMessageBox(“haha OnInitDialog”); CDialog::OnInitDialog(); } void CMatchingDlg::OnSize(UINT nType, int cx, int cy) {   AfxMessageBox(“hah...
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  cx,cy  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘函数,       再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
MFC OnSize事件调用时间
在Ocx控件被加载时,第一次调用OnSize事件实在控件中的各个部件未加载前,此时如果操作控件中的控件会出现控制针异常,需要提前判断。 CTestDlg m_dlg; int CTestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) ==
对话框OnSize 自动调整控件大小和位置
对话框执行onsize消息时根据参数自动调整对话框上的控件大小和位置到合适位置,对话框执行onsize消息时根据参数自动调整对话框上的控件大小和位置到合适位置。
编辑框控件随窗口大小变化重写OnSize()
最近在学mfc, 模仿一个记事本。文本内容用编辑框来显示。 当窗口变化时,通过以下代码,可以实现编辑框随窗口一起变化。 需要注意的是在使用编辑框指针前,一定要加上判断。因为第一次OnSize() 被调用时,编辑框对象还没有生成,只有窗口对象。 void CNotePadDlg::OnSize(UINT nType, int cx, int cy)  { CDialog::OnSize(
MoveWindow后OnSize没被调用的原因:WM_GETMINMAXINFO限制了
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { //调整最小高度与宽度,如果需要的话 lpMMI->ptMinTrackSize.x = 640; lpMMI->ptMinTrackSize.y = 480; //调整最大高度与宽度,如果需要的话 lpMMI->ptMaxTrackSize.x = 1366; lpMMI->
MFC窗口自动缩放源码例子
应用EasySize实现了MFC窗口的自动缩放,附件为实例源码
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,
mediaplayer 窗口缩放中的OnSize函数,出现错误:winocc.cpp line307
在mfc中,利用mediaplayer控件编程,窗口缩放的OnSize中: CRect WindowRvoid CMyPlayer::OnSize(UINT nType, int cx, int cy) {     CDialogEx::OnSize(nType, cx, cy);ect;     GetWindowRect(&WindowRect);     ((CWnd*)&...
MFC中窗口初始化时OnCreate、OnInitDialog、OnSize、OnPaint的 调用顺序
执行顺序(以箭头方向): OnCreate -> OnSize -> OnInitDialog -> OnPaint OnCreate:要创建一个窗口。 OnSize:用于窗口初始化前的一些参数设定。 OnInitDialog:初始化窗口,例如设置窗口字体、控件等。 OnPaint:在窗口上做一些绘制动作。...
动态布局控件
使用了一个数据结构,在OnSize()函数中处理
MFC窗口自动缩放
MFC窗口自动缩放 常见的对话框可以随意变换大小,而且其窗口中的控件可以随之按照一定比例缩放。在万能的百度里找到了一个easysize的宏文件。研究了一下,觉得这位大神真是厉害。本笔记就如何使用该easysize进行简要说明。 1.      download这个easysize.h的文件,放在工程目录下。在主界面的.h文件下增加#include”easysize.h”. 2.      在
控件随窗口大小自动缩放
1、应用需求 显示器大小不一,应用软件窗口需要根据各种不同的显示器大小显示。 因此需要相关控件随窗口大小自动缩放的功能。 2、在OnInitDialog()函数中添加如下代码 CRect rect; GetWindowRect(&rect); m_listRect.AddTail(rect);//对话框的区域 CWnd* pWnd = GetWindow(GW_CHI
MFC 根据分辨率自动缩放控件 图片控件缩放 VS2010编译 按钮美化
MFC 根据分辨率自动缩放控件 图片控件缩放 VS2010编译 按钮美化
MFC 学习笔记 1 程序入口主函数的处理
今天开始看MFC的书。 以前看不懂,现在还是懂非懂,太深的技术学不进去,还是学浅的吧。越浅越好 一、程序入口主函数的处理   2.win32程序中 int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
图片自动缩放写法
/*For Firefox Chrome*/ .demo{border:1px solid #ddd;width:200px;height:150px;overflow:hidden;text-align:center;display:table;float:left;position:relative;} .demo a{display:table-cell;vertical-align:mid...
mfc学习之分析mfc程序执行过程
在前几天学习自己动手创建了一个mfc程序之后,生出了一个疑问,作为一个新手,在学习c++标准语法的时候,基本都是控制台程序,而且众所周知程序都会有一个入口点也就是main函数,而在mfc程序中,只是定义了一个全局对象theApp,和重写了一个初始化函数,没有看到任何的主函数,然后资料上说mfc将入口函数也给封装起来了,因此今天准备跟踪一下mfc程序的执行流程,以FirstMFC为例 因为全局变量
MFC程序中如何接受命令行参数
MFC程序中如何接受命令行参数 line函数的详解
MFC程序执行流程
MFC程序的执行流程为,首先创建一个名为test的MFC工程则在源文件目录会产生一个test.cpp文件。在test.cpp中CtestApp类会产生一个theApp的全局对象。首先要明白,在程序执行main函数之前会先生成全局对象,并执该类的构造函数。则MFC程序的开始为生成theApp全局对象,然后程序继续执行进入main函数。MFC的main函数在appmodul.cpp文件当中为: tW...
基于mfc的对话框编程中,实现控件随对话框大小自动缩放以及通过滚动条实现控件移动功能
1.在OnInitDialog中加入初始化垂直和水平滚动条的属性:     SCROLLINFO vinfo;     vinfo.cbSize = sizeof(vinfo);     vinfo.fMask = SIF_ALL;     vinfo.nPage = 50;     vinfo.nMax = 600;     vinfo.nMin = 0;     vinfo.
QT实现窗体自动缩放的快速实现方法
在构造函数中加入: ui->centralWidget->setLayout(ui->mainLayout); 即可; 其中centralWidget是窗体的主Widget,mainLayout是底层的布局(主布局); 注意:this->setLayout无效,是this->ui->setLayout才有效!...
onsize函数
IDD_HELLO_DLG DIALOGEX 0, 0, 386, 226rnSTYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | rn WS_CAPTION | WS_SYSMENU | WS_THICKFRAMErnEXSTYLE WS_EX_OVERLAPPEDWINDOWrnCAPTION "Hello World"rnFONT 8, "MS Shell Dlg", 400, 0, 0x1rnBEGINrn DEFPUSHBUTTON "OK",IDOK,329,204,50,14rn LTEXT "Ser:",IDC_NAME,7,18,347,24rn LTEXT "Des:",IDC_SERVICE_DESCRIPTION,7,42,39,17rn LTEXT "Static",IDC_SORT,7,59,372,145,WS_BORDER,rn WS_EX_CLIENTEDGErnENDrnrn上面是对话框,我想知道怎么写onsize函数比较好,本来想用ONSIZE的长和宽与以前的比,然后设定位置,后来发现movewindow的参数都是int,所以不行rn清问应该怎么写好?
这个onsize函数怎么写?
我在view类里画的线条,怎么让它随着窗口大小的改变长度也发生改变?
MFC调试技巧
MessageBox()函数 有时候bug是因为线程同步问题,MessageBox会造成程序执行阻塞,影响同步关系而使bug现象完全不同。 OutputDebugString
在MFC程序中添加全屏显示功能
在MFC程序中添加全屏显示功能 在MFC程序中添加全屏显示功能 在MFC程序中添加全屏显示功能 在MFC程序中添加全屏显示功能
MFC界面自适应缩放
  界面没有经过自适应缩放前:   界面自适应缩放后: 程序演示版下载地址: http://pan.baidu.com/s/1nvFIYY9 程序源代码下载以及程序详细文档下载(与程序配套)...
网页在移动设备上实现自动缩放
查找了一下相关资料才算是明白了上面那行代码的意思: target-densitydpi=device-dpi :在做手机版的页面时,如果使用了此属性那么页面中的内容会很小,好像分辨率越大的手机屏幕显示的效果越小,如果不用这个属性那么手机浏览器会自动放大到一定大小(这个应该是手机默认的)便于阅读效果。据说平板电脑用这个属性比较好。 width=device-width :设置了这个属性后
MFC 程序入口点
每个程序都是从WinMain进入的,只是进入的时候你不知道而已,单步的时候可以看到是从WinMain进入的 因为程序是从Main(WinMain)开始。  但是在Main(WinMain)开始之前会对全局的变量或者对象进行初始化。  故在MFC中,通过通过全局类(theApp) 的初始化, 进入theApp的构造函数,根据类的规则,初始子类的构造函数,必须先要运行父类的构造函数。    在这过程...
MFC中让函数暂停几秒在运行
static CTime PASCAL GetCurrentTime( ); //返回一个CTime对象表示当前时间。 CTimeSpan operator -( CTime time ) const; //两个CTime 对象相减  返回一个 CTimeSpan对象 LONG GetTotalSeconds( ) const;       //检索秒表示的此日期/时间跨度值
ECharts 随屏幕大小改变而自动改变大小
//根据窗口容器大小发生改变时改变图表尺寸 window.onresize = function(){     myChart.resize(); } https://www.echartsjs.com/api.html#echartsInstance.resize
MFC程序的执行顺序
简介 MFC只是对WIN32的API进行了封装,所以MFC的本质还是WIN32程序.有了这层封装,我们看不到WIN32的WinMain函数,也就不清楚MFC程序的启动过程.虽然我们没有看到WinMain函数,但不代表没有WinMain函数,这个函数位于*\VC\atlmfc\src\mfc目录的appmodul .cpp文件中有一个_tWinMain函数, _tWinMain函数调用了WinMai
mfc学习笔记之如何自己动手实现最简单的mfc程序
在刚开始学完c++基本语法之后,发现要用c++写一个窗口应用程序必须与操作系统结合起来,于是自然而然的选择了从mfc入手,但是通过新建的mfc程序发现太过于臃肿,不知道如何下手,因此从网上查阅资料发现可以自己动手使用mfc库实现一个最简单的mfc程序。   1. 由于mfc只是对win32API进行了大量的封装,因此可以通过修改win32项目来创建mfc工程 2. 工程名起名为Firs
WM_SIZING 使用说明
WM_SIZING 消息 当改变窗口大小时会提前触发这个消息,可以在程序中接收此消息并可以拦截大小,可以根据你自己的需求,例如窗口大小宽度最大只能100,哪么可以在这个消息内进行设定 //WMSZ_BOTTOM Bottom edge //下边 //WMSZ_BOTTOMLEFT Bottom - left corner //左下角 //WMSZ_BOTTOMRIGHT Bottom - r
MFC程序崩溃问题汇总
一、 程序崩溃多半都是传参的时候参数类型问题,或者是数组越界(基本都是字符串长度没开够),或者有某个全局变量在方法(局部)里被重定义了。这些都是VC检测不出来的。二、 16/08/30 今天我写了个控件,是调用底层库的,就是赤峰那个项目的,他们提供的底层库的入参是string类型,我在typedef函数指针的时候,发现MFC并没提供这个类型,我就手动添加了命名空间和头文件,然后写个Demo测试
基于opencv人脸检测程序
MFC程序,调用opencv中函数,分类器是opencv原有haar分类器,实现正面免冠人脸检测。
MFC实现获取当前计算机的主机名和IP地址
MFC程序,使用Winsock函数库中的函数获取本地主机名和IP地址
vc控件随对话框自动调整大小、位置
自己写的简单类 vc2008 对话框中所有控件随窗口最大化 自动改变大小 位置 ,最小化时还原。 调用方法 在OnInitDialog函数中调用GetClientRect(&m_rect);在OnSize函数中直接调用CLala lala; lala.Show(m_rect, this, cx, cy);
C++笔记——第一个MFC程序
使用MFC创建的Windows窗口程序 今天用VS2017写了个MFC的窗口程序,代码如下#include "stdafx.h" #include "afxwin.h" // MFC标准库class CMinApp : public CWinApp //定义窗口类 { public: virtual BOOL InitInstance(); //初始化通教声明
VS2017代码窗口缩放功能的关闭屏蔽禁用
VS2010之后有一个新特性,可以通过“Ctrl+鼠标滚动”对Text Editor中的代码进行放大缩小。 在进行中英文切换时,让手指不要碰到鼠标滚动轮看起来容易,做起来似乎有点难。算了,干脆关闭这个功能! 对于这样影响开发人员工作效率的问题:【传送门】 虽然官方插件不支持vs2017(官方支持到2015),插件经过修改之后,可以支持vs2010-2017了。