VC6调节控件的位置和大小

翻译|其它|编辑:郝浩|2008-05-14 10:00:33.000|阅读 1534 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

实现这个功能的核心是调节控件的位置和大小,这里我采用了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 );
则控件的大小和位置都会改变。
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP