子窗口中设置控件的位置
2012-06-18 20:13
239 查看
CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号 pWnd-> SetWindowPos ( NULL,X,Y,CX,CY,TRUE); //在窗口左上角显示一个宽100、高100的编辑控件
BOOL SetWindowPos ( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
对于x,y顶点坐标,对于顶层的CWnd对象,x和y参数是相对于屏幕的左上角的。对于子对象,它们是相对于父窗口客户区的左上角的。 也就是说这两个值都是相对值。
x、y控件位置;cx、cy控件宽度和高度;
子窗口的所有坐标都是客户坐标(相对于父窗口客户区的左上角)。
有时SetWindowPos函数会无效,比如我在使用SetWindowPlacement将窗口设置为全屏后,再使用SetWindowPos根本没有作用,这时使用this->GetDlgItem(IDC_PROGRESS)->MoveWindow(rect.left,rect.bottom-50,rect.Width(),30,true);却能够实现,所以大家在SetWindowPos无效时,不要自认为的以为MoveWindow也会无效,试一下或许有用哦。
////////////////////////////////////////////////以下代码实现了子窗口中控件的定位////////////////////////////////////
CRect rect(45,117,195,141); CWnd *pwnd=GetDlgItem(IDC_DATETIMEPICKER3); pwnd->SetWindowPos(NULL,rect.left,rect.top,rect.Width(),rect.Height(),SWP_SHOWWINDOW);
或
{rect.top=134;rect.bottom=149;rect.left=378;rect.right=398;} GetDlgItem(IDC_STATICSCORE)->SetWindowPos(NULL,rect.left,rect.top,rect.Width(),rect.Height(),SWP_SHOWWINDOW);
相关文章推荐
- MFC窗口最大化&移动窗口位置&获取控件句柄,设置控件大小
- Word控件Spire.Doc 教程:如何在C#中设置word 脚注的位置和数字格式
- 设置控件随窗口大小而改变
- 使用StartupInfo的参数设置窗口的启动位置的大小
- vs每次拉下一个控件都必选设置为绝对位置才可以移动,怎样解决啊
- 主窗口及控件背景颜色信息设置
- 窗口位置、大小设置
- ubuntu 窗口控制按钮位置设置(于12.04版本为例)
- qt 手动设置控件的位置
- MFC中设置窗口大小位置
- 获取一个控件相对于父窗口的坐标位置
- 设置子窗口显示的时候相对主窗口的位置
- windowsSDK利用子窗口控件设置窗口透明
- 获取控件大小和设置调整控件的位置XY示例
- Android 5.0系统 style 默认窗口控件颜色值设置
- 易语言设置窗口的位置及状态功能
- 精确控制MFC控件窗口的位置和大小(top|left|width|height)
- Button设置内部的控件位置
- QBoxLayout::setSizeConstraint可以固定窗口的大小,且根据内部控件所占用的位置自动调节大小
- 设置WPF窗口相对于非WPF窗口的位置