/定义函数、变量//void resize();POINT Old;//存放对话框的宽和高///        void CNewFrameDlg::OnSize(UINT nType, int cx, int cy)
{CDialog::OnSize(nType, cx, cy);if(nType==SIZE_RESTORED||nType==SIZE_MAXIMIZED)//窗体大小发生变动。处理函数resize{resize();}
}void CNewFrameDlg::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);//取得IDif (woc == IDC_LIST1||woc==IDC_STATICFRAME){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);if (woc == IDC_LIST1){GetDlgItem(woc)->MoveWindow(CRect(TLPoint.x,TLPoint.y,TLPoint.x+(OldBRPoint.x-OldTLPoint.x),BRPoint.y/*TLPoint.y+(OldBRPoint.y-OldTLPoint.y)*/),TRUE);}else{GetDlgItem(woc)->MoveWindow(Rect,TRUE);}hwndChild=::GetWindow(hwndChild, GW_HWNDNEXT);  }}Old=Newp;
}

转载于:https://www.cnblogs.com/rogee/archive/2010/12/30/1922182.html

MFC窗体控件随窗体变化相关推荐

  1. 窗体控件随窗体大小改变(仍有不足)

    private void frmWatch_Load(object sender, EventArgs e){FormWidth = this.Width;FormHeight = this.Heig ...

  2. 窗体控件随窗体大小改变(包括字体大小)

    文章参考:http://blog.csdn.net/loveme1204/archive/2007/12/24/1964577.aspx 是一篇vb编写的,我只是把它翻译成c#的. 其实Anchor和 ...

  3. C#窗体控件随窗体变大而变大

    PC 环境 win10 ,编译器 visual studio2015 private float X;private float Y;private void setTag(Control cons) ...

  4. vba数据类型,运算符,内置函数,循环判断语句,窗体控件

    文章目录 VBA基本数据类型 示例代码 声明常量,运算符和表达式 内置函数 代码 可视化编程 判断语句 循环语句 窗体控件,窗体的加载卸载 listbox,checkbox,combobox VBA基 ...

  5. winformbutton边框怎么改_C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

    C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 pr ...

  6. C#如何实现窗体控件大小随窗体大小变化(包括字体)

    如图,拖动窗体即可改变控件大小(包括字体) 窗体尺寸:345*315 窗体尺寸:603*509 项目资源如下 源码如下 using System; using System.Collections.G ...

  7. winform窗体控件

    目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...

  8. C#学习(十五)——窗体控件用法大全

    C#控件及常用设计整理 1.窗体 1.1.常用属性** (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗 ...

  9. viewstate 解码 php,.NET_asp.net中ViewState的用法详解,在web窗体控件设置为runat = serv - phpStudy...

    asp.net中ViewState的用法详解 在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了 ...

最新文章

  1. XCODE 4.5 IOS多语言设置
  2. python学习笔记(四)——流程控制
  3. Html5 Game - SpaceWar
  4. Spring Boot 内置Tomcat——IntelliJ IDEA中配置模块目录设为文档根目录(DocumentRoot)解决方案
  5. 织梦本地调试运行PHP不显示图片,织梦dedecms不能下载远程图片实现图片本地化解决方法...
  6. Java并发编程 Volatile关键字解析
  7. Standard C++ Episode 7
  8. HTML+CSS+JS实现 ❤️canvas圆形水波进度条动画特效❤️
  9. 用vbs往服务器发送文件,[转] Windows 下命令行/VBS脚本,发送带附件邮件.
  10. 大学生能从计算机游戏中受益,2017年12月英语四级作文范文:大学生玩游戏
  11. Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg')
  12. 贾君鹏你妈妈喊你回家吃饭-利用WCF的Duplex推送消息
  13. calico/node is not ready: BIRD is not ready: BGP not established with 172.19.77.23
  14. 基于JDBC的宠物管理系统
  15. 开源的魔兽世界参考架构——mangos--网络游戏引擎BigWorld 服务器介绍
  16. 平面变压器的设计(翻译)(4)
  17. 湖南工大计算机学院大一分班,不懈奋斗,书写无悔青春 --中国矿业大学计算机学院14-05班获评校级“优良学分班”称号...
  18. 乐高打印机robotc
  19. 【Java】session.getAttribute出现[classes/:na]报错如何解决
  20. JavaScript的原型和原型链分析

热门文章

  1. 人脸识别是怎么识别人脸的?
  2. 2020年,知识图谱都有哪些研究风向?
  3. 小朋友也能看懂的机器学习
  4. SAP MM 如何手工修改IDoc的状态?
  5. 专访|黄铁军:人工智能不会以人为中心,但不要为此失落
  6. 「SAP技术」MIGO 343 解冻物料库存的同时可以更改存储地点
  7. 赋能AI开源生态,Tengine成AI开发利器
  8. 人工智能之算法知识与实战篇
  9. SAP ME55 不能审批含有Delete Item的采购申请单据
  10. 互补性:从不同的角度思考同一个事物时,发现它同时具有不同甚至相互矛盾的性质...