MFC的控件大小如何随对话框改变

本文介绍了在MFC中如何使控件的大小随着对话框的变化而自动调整。通过添加WM_SIZE消息处理程序OnSize,并使用MoveWindow()或SetWindowPos()函数,可以实现控件的动态布局。同时,文中还提到了获取屏幕大小的方法,以便更好地进行界面适配。
摘要由CSDN通过智能技术生成

1.右键对话框---类向导--消息选择WM_SIZE  添加 处理程序 onsize

2.

void CHttpResp::OnSize(UINT nType, int cx, int cy)
{
 CDialogEx::OnSize(nType, cx, cy);

 // TODO: 在此处添加消息处理程序代码
 if(!IsWindowVisible())
  return;
 //获取客户区矩形
 CRect rect;
 GetClientRect(&rect);

 //动态改变控件大小
 CWnd *m_editcontrol=GetDlgItem(IDC_EDIT1);
 m_editcontrol->SetWindowPos(NULL,rect.right/5,rect.bottom/5,rect.right/2,rect.bottom/2,SWP_NOZORDER|SWP_SHOWWINDOW);

//或者
m_editcontrol->Window(rect.right/5,rect.bottom/5,rect.right/2,rect.bottom/2);

(1) MoveWindow():
              void MoveWindow(int x,int y,int nWidth,int nHeight);
              x, y为控件位置;nWidth、nHeight为控件宽度和高度
      (2) SetWindowPos():
              BOOL SetWindowPos(const CWnd* pWndI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值