VC改变控件或对话框的大小和位置方法
来源:互联网 发布:怎么找淘宝客服投诉 编辑:程序博客网 时间:2024/06/10 09:23
第一种用法需给出控件新的坐标和宽度、高度;
第二种用法给出存放位置的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 ); //编辑控件的大小和位置都改变
以上方法也适用于各种窗口。
实例:
CRect rc;
GetWindowRect(&rc);
//控件为 GetDlgItem(IDC_STATIC_AUTHOR)->GetWindowRect(&rcLarge);
那么rc就是当前窗口的矩形大小
rc.left,rc.top,rc.right,rc.bottom分别就是窗口左上右下的坐标了
SetWindowPos(NULL,0,0,rc.Width(),rc.top,SWP_NOMOVE|SWP_NOZORDER);
SetWindowPos(NULL,0,0,rc.Width(),rc.top-rcLarge.top,SWP_NOMOVE|SWP_NOZORDER);
- VC改变控件或对话框的大小和位置方法
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- 《VC中自动改变控件位置和大小的对话框类》详细使用方法
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类[转]
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类(转)
- VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类
- [转]VC中自动改变控件位置和大小的对话框类
- VC中自动改变控件位置和大小的对话框类(转)
- asp.net导出Excel/Csv格式数据最优方案(C#)
- MFC学习之旅
- 如何让你的SQL运行得更快
- 信息安全国家标准全集
- 数据库设计说明书
- VC改变控件或对话框的大小和位置方法
- C#中DllImport用法和路径问题
- NETSH WINSOCK RESET这条命令的含义和作用?
- 利用DBMS_RLS实现VPD 实例
- 需求分析
- 简单日期和邮箱正则表达式
- MYSQL主从同步故障解决(主键重复)
- Linux内核学习笔记之进程管理1
- OSG+CEGUI+lua 程序框架OpenSceneGraph-2.8.2+CEGUI-0.6.2-vc9