您的位置:首页 > 其它

MFC 移动控件到指定位置

2013-06-01 10:52 1776 查看
方法一:利用MoveWindow()函数:

CRect rectButton;
GetDlgItem(IDC_STORE)->GetWindowRect(&rectButton);      //获取IDC_STORE控件的位置坐标
ScreenToClient(rectButton);  

rectButton.OffsetRect(CSize(-120,0));  //这里要是要移动的相对位置
GetDlgItem(IDC_READCHECK)->MoveWindow(rectButton);

存在问题:被移动控件的大小会发生改变,不知道咋修改~~~~~~

方法二:利用SetWindowPos()函数:

函数具体参数详解网上一堆一堆的,直接上我实际开发中用的实例,在窗口中利用SizeAdjust自动调整大小后,发现有些控件的位置不是很合适,所以我需要的是相对坐           标位置的移动,即把一控件移动到另一控件的相对位置处。

CRect rectButton;
GetDlgItem(IDC_STORE)->GetWindowRect(&rectButton); //获取IDC_STORE控件的位置坐标
ScreenToClient(rectButton);

int XPo=rectButton.left-120;    //计算位置坐标的X、Y值
int YPo=rectButton.top+rectButton.Height()/4;

GetDlgItem(IDC_READCHECK)->SetWindowPos(NULL,XPo,YPo,0,0,SWP_NOSIZE);   //移动到制动位置,不改变大小,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MFC