1、隐藏控件
CWnd *pWnd;
pWnd = GetDlgItem(IDC_EDIT1); //获取控件指针,IDC_EDIT1为控件ID号
pWnd->ShowWindow( SW_HIDE ); //隐藏控件
2、显示控件
CWnd *pWnd;
pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号
pWnd->ShowWindow( SW_SHOW ); //显示控件
3、调整控件位置并赋予大小设定
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,维持大小不变;
4、设置对话框的背景颜色
在OnPaint() 函数中的else下增加如下代码:
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect); //得到当前对话框的尺寸
dc.FillSolidRect(&rect,RGB(192,248,202)); //绘制对话框背景色