【第22期】观点:IT 行业加班,到底有没有价值?

MFC中改变控件的大小和位置(zz)

原创 2015年07月09日 13:58:33

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。

void MoveWindow(int x,int y,int nWidth,int nHeight);
void MoveWindow(LPCRECT lpRect);

第一种用法需给出控件新的坐标和宽度、高度;

第二种用法给出存放位置的CRect对象;
例:
CWnd *pWnd;
pWnd = GetDlgItem( IDC_EDIT1 );    //获取控件指针,IDC_EDIT1为控件ID号
pWnd->MoveWindow( CRect(0,0,100,100) );    //在窗口左上角显示一个宽100、高100的编辑控件

SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:
BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);
第一个参数我不会用,一般设为NULL;
x、y控件位置;cx、cy控件宽度和高度;
nFlags常用取值:
SWP_NOZORDER:忽略第一个参数;
SWP_NOMOVE:忽略x、y,维持位置不变;
SWP_NOSIZE:忽略cx、cy,维持大小不变;
例:
CWnd *pWnd;
pWnd = GetDlgItem( IDC_BUTTON1 );    //获取控件指针,IDC_BUTTON1为控件ID号
pWnd->SetWindowPos( NULL,50,80,0,0,SWP_NOZORDER | SWP_NOSIZE );    //把按钮移到窗口的(50,80)处
pWnd = GetDlgItem( IDC_EDIT1 );
pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER | SWP_NOMOVE );    //把编辑控件的大小设为(100,80),位置不变
pWnd = GetDlgItem( IDC_EDIT1 );
pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER );    //编辑控件的大小和位置都改变

以上方法也适用于各种窗口。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

MFC TableControl控件子对话框 以及子控件 随主对话框 最大化后 调整大小及位置

1.主对话框中有个TableControl控件,TableControl控件中

VC中自动改变控件位置和大小的对话框类

在用VC开发应用程序时,经常会要做一些可以改变大小的对话框,而这个时候就要求对话框上的控件会随着对话框大小的改变而改变自己的位置和大小。如果控件比较少,那可以在对话框的OnSize()事件里面添加代码,通过计算来调整各个控件的位置和大小;但是,如果对话框上的控件比较多的话,那这将是一件非常痛苦的事情...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

MFC中改变控件的大小和位置(zz)

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。void MoveWindow(int x,int y,int nWidth,int nHeight)...
  • afxid
  • afxid
  • 2006-07-10 12:14
  • 14141

Android资源下载

首先 介绍几本书籍(下载包中)吧。 <p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Arial; font-size:

MFC界面控件位置大小控制的EasySize使用说明

第一步:讲EasySize.h头文件拷贝到工程文件夹下面 第二步:在对话框类定义下面添加"DECLARE_EASYSIZE"宏,没有分号,同消息映射类似。 第三步:添加控件布局映射,在该对话实现文...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)