如何让ListControl控件随窗口自动调整大小
展开全部
如何让ListControl控件随窗口自动调整大小
Author: swun911
由于屏幕的分辨率不同、最大化最小化等操作时,程序的窗口会扩大或缩小,但如果不做处理,窗口里的控件并不会等比例变化,当发布给用户时如有这种情况可就拉稀白带了~~~~~~~~~
废话少说,回到主题,那如何实现控件随程序窗口自动调整其位置和大小呢?偶在网上学习了解后,有了点心得,主要用到GetClientRect()和MoveWindow()两个函数就能轻松搞定。现以ListControl控件介绍如下:
先建一个SDI,然后添加一Dialog(此处我是将其由CFormView派生出CEngineDisplay),在往Dialog里随便拖一个ListControl,成员变量为m_EngineList;
接着为CEngineDisplay添加nInitialUpdate(),
在nInitialUpdate()中或者是在WM_SIZE消息处理中添加如下代码:
CRect rs;
GetClientRect(&rs);
rs.top+=6;
rs.bottom-=800;
rs.left+=6;
rs.right-=6;
m_EngineList.MoveWindow(&rs);
一切搞定!!!!
编译运行,m_EngineList就会随窗口自动等比例调整其位置和大小了!
方法二:来自网上,比较简单,就是使用现成的别人写好的类,
比如:EasySize.h
cdxCDynamicControlsManager等
Author: swun911
由于屏幕的分辨率不同、最大化最小化等操作时,程序的窗口会扩大或缩小,但如果不做处理,窗口里的控件并不会等比例变化,当发布给用户时如有这种情况可就拉稀白带了~~~~~~~~~
废话少说,回到主题,那如何实现控件随程序窗口自动调整其位置和大小呢?偶在网上学习了解后,有了点心得,主要用到GetClientRect()和MoveWindow()两个函数就能轻松搞定。现以ListControl控件介绍如下:
先建一个SDI,然后添加一Dialog(此处我是将其由CFormView派生出CEngineDisplay),在往Dialog里随便拖一个ListControl,成员变量为m_EngineList;
接着为CEngineDisplay添加nInitialUpdate(),
在nInitialUpdate()中或者是在WM_SIZE消息处理中添加如下代码:
CRect rs;
GetClientRect(&rs);
rs.top+=6;
rs.bottom-=800;
rs.left+=6;
rs.right-=6;
m_EngineList.MoveWindow(&rs);
一切搞定!!!!
编译运行,m_EngineList就会随窗口自动等比例调整其位置和大小了!
方法二:来自网上,比较简单,就是使用现成的别人写好的类,
比如:EasySize.h
cdxCDynamicControlsManager等
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询