精确控制MFC控件窗口的位置和大小(top|left|width|height)

本文介绍了如何在MFC中调整控件的位置和大小,包括使用CRect获取和设置ListCtrl控件的top、left、width和height属性,并通过MoveWindow方法实现精确布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为曾经的C#开发者,习惯于为控件指定top,left,width,height
在MFC中没找到,难道靠目测,靠网格,呵呵。
原来MFC所有控件都是窗口,都有CRect
在对话框的OnInit()里添加如下代码:
复制代码
CRect rect;
m_listCtrl.GetWindowRect(rect);      //  ListCtrl矩形
// m_listCtrl.GetClientRect(rect); //  对话框客户区矩形
ScreenToClient(rect);              //  屏幕坐标转换为客户区坐标
//  取得原来的矩形,在此基础上修改。这里我直接设置个坐标
rect.top =  10;
rect.left =  10;
rect.right = rect.left +  100;
rect.bottom = rect.top +  100;
m_listCtrl.MoveWindow(rect);
// m_listCtrl.SetWindowPos(this,10,10,150,110,SWP_NOZORDER);
复制代码
C#很方便却封装得太严实,控制不了底层。
C++很麻烦,但是太强大了,直接使用Windows API
不知道我理解得到位不到位。

url:http://greatverve.cnblogs.com/archive/2012/11/17/mfc-top-left-width-height.html



    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2012/11/17/mfc-top-left-width-height.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值