/定义函数、变量//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. 通过AI翻译大脑信息
  2. 首个全球智慧城市在线社区启动 将锁定对城市发展构成挑战的困难
  3. Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)
  4. OpenCASCADE:Mac OS X平台使用Code::Blocks构建OCCT
  5. Linux基础命令介绍
  6. OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器
  7. oracle的sga
  8. python中loop的用法_python-在Tensorflow中使用tf.while_loop更新变量
  9. 学习之路/免费的图库推荐
  10. 在iis6.0上配置Gzip
  11. c语言中结构体头文件是什么,函数形参里有结构体指针,为什么在头文件生
  12. Android自定义属性时TypedArray的使用方法
  13. 天堂2服务器自动停止,为什么我一进天堂2就与服务器连接中断??/
  14. Python 农历公历日期转换
  15. Java面试题及答案2020,安卓java编程软件app
  16. 笔记记录软件:NoteRecorder
  17. 2021年度科技行业有哪些大事件?“杰出科技奖”公布36家企业领先科技技术
  18. 双击打开excel内容不显示而显示灰色
  19. Linux下提高硬盘读写速度
  20. 7.STM32C8T6+DHT11在OLED上显示 温度,湿度

热门文章

  1. 自动驾驶是汽车行业的未来 但这并不代表驾驶者能完全解放双手
  2. 人脸识别软件正在学习识别熊脸和牛脸
  3. GAN 为什么需要如此多的噪声?
  4. SAP SD基础知识之维护中央信贷主数据
  5. 赚到!4个Python初学者必学的Numpy小技巧
  6. Caffe 运行平台支持DenseNet模型
  7. 2018最具就业前景的7大编程语言,Java、Python和JavaScript?
  8. torch.empty()
  9. 珍藏版:3万字详解mRNA疫苗
  10. 谋局科技创新:两院院士大会释放重要信号