函数原型:

  BOOL CWnd::SetWindowPos
  (
  const CWnd* pWndInsertAfter, //插入的地方
  int x, //水平坐标
  int y, //垂直坐标
  int cx, //宽
  int cy, //高
  UINT nFlags //窗口定位标识
  );

说明:

  这个函数能改变窗口的大小、位置和设置子窗口、弹出窗口或顶层窗口的排列顺序。 
  返回值:

  返回值BOOL类型,如果返回值非零表示成功,返回零表示失败。

参数表:

  参数类型及说明 
  hWndInsertAfter HWND,置于hwnd前面的窗口句柄。这个参数必须是窗口的句柄或是下面的值之一:

wndBottom 将窗口置于其它所有窗口的底部
    wndTop 将窗口置于它所有窗口的顶部
    wndTopMost 将窗口置于其它所有窗口的顶部,并位于任何最顶部窗口的前面。即使这个窗口不是活动窗口,也维持最顶部状态
    wndNoTopMost 将窗口置于其它所有窗口的顶部,并位于任何最顶部窗口的后面。如果这个窗口非顶部窗口,这个标记对该窗口并不产生影响

x: int,指定窗口新的X坐标

Y: int,指定窗口新的Y坐标

cx: int,指定窗口新的宽度

cy: int,指定窗口新的高度

nFlags: UINT,指定窗口状态和位置的标记。

如下将窗口置顶,并且不改变窗口的位置与大小
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);

相关函数:

MoveWindow,SetActiveWindow,SetForegroundWindow

以下例子通过MoveWindow()来达到窗口展开与折叠效果:

void CMainDlg::OnButton_more() 
{
 CRect cur_rect;
 int x, y;
 int cx, cy;

if(m_moreIsActive)
 {
  GetWindowRect(&cur_rect);
  x = cur_rect.left;
  y = cur_rect.top;
  cx = cur_rect.Width();
  cy = cur_rect.Height()*2;
 
  MoveWindow(x, y, cx, cy);
  m_moreIsActive = false;
 }
 else
 {
  GetWindowRect(&cur_rect);
  x = cur_rect.left;
  y = cur_rect.top;
  cx = cur_rect.Width();
  cy = cur_rect.Height()/2;

MoveWindow(x, y, cx, cy);
  m_moreIsActive = true;
 } 
}

MFC SetWindowPos相关推荐

  1. MFC SetWindowPos与MoveWindow的用法

    MFC SetWindowPos与MoveWindow的用法 一.MoveWindow移动控件在对话框中的位置,改变控件大小. 例:按钮m_btn移动到坐标点为(x,y)处,宽度设为width,高度设 ...

  2. [mfc] SetWindowPos函数

    [mfc] SetWindowPos函数 设置窗口大小位置 函数功能------设置窗口大小位置 该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序. 子窗口,弹出式窗口,及顶层窗口根据它们 ...

  3. MFC SetWindowPos 窗口 的 Z 序

    函数原型: BOOL CWnd::SetWindowPos ( const CWnd* pWndInsertAfter, //插入的地方 int x, //水平坐标 int y, //垂直坐标 int ...

  4. 【MFC】SetWindowPos函数使用详解

    [MFC]SetWindowPos函数使用详解 摘自: http://wenku.baidu.com/link?url=hYKs20rYA13TTdMl9gJ378GNOsxH1DPZPkYZVEIc ...

  5. MFC中的MoveWindow and SetWindowPos

    MoveWindow只能设置窗口的大小和位置:SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always   on  ...

  6. MFC一一SetWindowPos与MoveWindow的用法区别

    两者用途:均表示改变控件的大小和位置 分别介绍: (1).SetWindowPos:改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置和Z序. BOOL SetWindowPos(const CWnd* ...

  7. MFC中的MoveWindow 与 SetWindowPos

    MoveWindow只能设置窗口的大小和位置:SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层–always on top ...

  8. MFC 重设对话框的尺寸

    MFC对话框尺寸的设置,我没在属性里面看到,可以在MyDialog::OnInitDialog()函数里面重新设置对话框的尺寸,代码如下 CRect   temprect(0,0,640,480); ...

  9. MFC中的几个常用类——CWnd

    2019独角兽企业重金招聘Python工程师标准>>> 1 窗口类 1.1 概述 CObject └CCmdTarget └CWnd CWnd是MFC窗口类的 基类,提供了微软基础类 ...

最新文章

  1. java 部分类_为什么微软部分类和Java不?
  2. C#中嵌入互操作类型的含义
  3. 使用命令行建立Zend Framework项目
  4. 我的世界1.7.10java32位_我的世界1.7.10中文版
  5. 第二天——hibernate讲完了
  6. 最小二乘法移动最小二乘法
  7. 平安资管罗水权:建设债券投资的智慧中台
  8. ACM:《挑战程序设计竞赛》
  9. Exchange 2010升级到Exchange 2016汇总
  10. @order 注解用法
  11. 计算机桌面时间设置,电脑时间校准,教您怎么校正电脑时间
  12. 千万千万别裸辞,否则你已经死了
  13. 台式电脑自带照片编辑软件将二寸照片改为一寸照片
  14. 程序员如何营销自己?
  15. 认识Excel的第五天(打印时固定标题)
  16. Pet Peeve 是什么?
  17. prometheus remote write for springboot 远程写入<一>
  18. TPM零知识学习七 —— tpm模拟器安装
  19. Cocos2d-x中图字原理之深入分析
  20. 数字转罗马数字_理解罗马数字

热门文章

  1. linux shell 等待输入_linux运维——基础篇
  2. logo自动旋转 html,HTML/CSS3 Logo选择器
  3. php mysql查询结果_php对mysql查询结果进行分页 - ceil
  4. vs2013怎么清理解决方案_厕所漏水怎么办?厕所免拆砖防水维修方案
  5. android第三方代码,Android--第三方控件--okHttp(示例代码)
  6. c语言编写程序平均值,编写求一组整数的和与平均值的程序
  7. 波士顿动力机器人全体出动,奉上新年之舞!
  8. 一键移除所有权限密码,不到1MB!
  9. 怎么运行verilog语言_(六) Verilog入门之有限状态机
  10. asp.net 调用本地php,.NET_Asp.net获取服务器指定文件夹目录文件并提供下载的方法,本文实例讲述了Asp.net获取服务 - phpStudy...