VC6调节控件的位置和大小

 
实现这个功能的核心是调节控件的位置和大小,这里我采用了 CWnd 类的 SetWindowPos() 函数,使用该函数之前必须先获得控件的指针,使用 GetDlgItem() 来做到这一点。两个函数的原型如下:
CWnd* GetDlgItem(int nID)const;
返回值:指向给定控件或子窗口的指针;
参数: nID 为控件或子窗口的 ID 值。
 
BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);
功能:改变窗口的大小、位置和 Z 次序;
参数:
第一个参数我不会用,一般设为 NULL;
x
y :窗口新位置; cx cy :窗口新宽度和高度;
nFlags
常用取值:
SWP_NOZORDER
:忽略第一个参数;
SWP_NOMOVE
:忽略 x y ,维持位置不变;
SWP_NOSIZE
:忽略 cx cy ,维持大小不变;
这样,当需要重新设定某控件位置时,可采用:
CWnd *pWnd;
pWnd = GetDlgItem( IDC_EDIT1 ); //
获取编辑控件指针
pWnd->SetWindowPos( NULL,x,y,0,0,SWP_NOZORDER | SWP_NOSIZE ); //
把控件移到窗口的 (x,y) 处,大小不变
当需要重新设定某控件大小时,可采用:
pWnd = GetDlgItem( IDC_EDIT1 );
pWnd->SetWindowPos( NULL,0,0,cx,cy,SWP_NOZORDER | SWP_NOMOVE ); //
把控件的大小改为 (cx,cy) ,位置不变
当采用:
pWnd = GetDlgItem( IDC_EDIT1 );
pWnd->SetWindowPos( NULL,x,y,cx,cy,SWP_NOZORDER );
则控件的大小和位置都会改变。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值