如何让ListControl控件随窗口自动调整大小

 我来答
城南明月羿当年
2015-06-28 · 知道合伙人生活技巧行家
城南明月羿当年
知道合伙人生活技巧行家
采纳数:24666 获赞数:123229
计算机爱好者

向TA提问 私信TA
展开全部
如何让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等
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式