MFC API——》SetWindowPos
2014-04-09 22:00
169 查看
BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int x, int y,int cx, int cy, UINT nFlags);
pWndInsertAfter
标识了在Z轴次序上位于这个CWnd对象之前的CWnd对象。这个参数可以是指向CWnd对象的指针,也可以是指向下列值的指针:
wndBottom 将窗口放在Z轴次序的底部。如果这个CWnd是一个顶层窗口,则窗口将失去它的顶层状态;系统将这个窗口放在其它所有窗口的底部。
wndTop 将窗口放在Z轴次序的顶部。
wndTopMost 将窗口放在所有非顶层窗口的上面。这个窗口将保持它的顶层位置,即使它失去了活动状态。
wndNoTopMost 将窗口重新定位到所有非顶层窗口的顶部(这意味着在所有的顶层窗口之下)。这个标志对那些已经是非顶层窗口的窗口没有作用。有关这个函数以及这些参数的使用规则参见说明部分。
x指定了窗口左边的新位置。
y指定了窗口顶部的新位置。
cx指定了窗口的新宽度。
cy指定了窗口的新高度。
nFlags指定了大小和位置选项。这个参数可以是下列值的组合:
SWP_DRAWFRAME 围绕窗口画出边框(在创建窗口的时候定义)。
SWP_FRAMECHANGED 向窗口发送一条WM_NCCALCSIZE消息,即使窗口的大小不会改变。如果没有指定这个标志,则仅当窗口的大小发生变化时才发送WM_NCCALCSIZE消息。
SWP_HIDEWINDOW 隐藏窗口。
SWP_NOACTIVATE 不激活窗口。如果没有设置这个标志,则窗口将被激活并移动到顶层或非顶层窗口组(依赖于pWndInsertAfter参数的设置)的顶部。
SWP_NOCOPYBITS 废弃这个客户区的内容。如果没有指定这个参数,则客户区的有效内容将被保存,并在窗口的大小或位置改变以后被拷贝回客户区。
SWP_NOMOVE 保持当前的位置(忽略x和y参数)。
SWP_NOOWNERZORDER 不改变拥有者窗口在Z轴次序上的位置。
SWP_NOREDRAW 不重画变化。如果设置了这个标志,则不发生任何种类的变化。这适用于客户区、非客户区(包括标题和滚动条)以及被移动窗口覆盖的父窗口的任何部分。当这个标志被设置的时候,应用程序必须明确地无效或重画要重画的窗口和父窗口的任何部分。
SWP_NOREPOSITION 与SWP_NOOWNERZORDER相同。
SWP_NOSENDCHANGING 防止窗口接收WM_WINDOWPOSCHANGING消息。
SWP_NOSIZE 保持当前的大小(忽略cx和cy参数)。
SWP_NOZORDER 保持当前的次序(忽略pWndInsertAfter)。
SWP_SHOWWINDOW 显示窗口。
SetWindowPos (NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);
pWndInsertAfter
标识了在Z轴次序上位于这个CWnd对象之前的CWnd对象。这个参数可以是指向CWnd对象的指针,也可以是指向下列值的指针:
wndBottom 将窗口放在Z轴次序的底部。如果这个CWnd是一个顶层窗口,则窗口将失去它的顶层状态;系统将这个窗口放在其它所有窗口的底部。
wndTop 将窗口放在Z轴次序的顶部。
wndTopMost 将窗口放在所有非顶层窗口的上面。这个窗口将保持它的顶层位置,即使它失去了活动状态。
wndNoTopMost 将窗口重新定位到所有非顶层窗口的顶部(这意味着在所有的顶层窗口之下)。这个标志对那些已经是非顶层窗口的窗口没有作用。有关这个函数以及这些参数的使用规则参见说明部分。
x指定了窗口左边的新位置。
y指定了窗口顶部的新位置。
cx指定了窗口的新宽度。
cy指定了窗口的新高度。
nFlags指定了大小和位置选项。这个参数可以是下列值的组合:
SWP_DRAWFRAME 围绕窗口画出边框(在创建窗口的时候定义)。
SWP_FRAMECHANGED 向窗口发送一条WM_NCCALCSIZE消息,即使窗口的大小不会改变。如果没有指定这个标志,则仅当窗口的大小发生变化时才发送WM_NCCALCSIZE消息。
SWP_HIDEWINDOW 隐藏窗口。
SWP_NOACTIVATE 不激活窗口。如果没有设置这个标志,则窗口将被激活并移动到顶层或非顶层窗口组(依赖于pWndInsertAfter参数的设置)的顶部。
SWP_NOCOPYBITS 废弃这个客户区的内容。如果没有指定这个参数,则客户区的有效内容将被保存,并在窗口的大小或位置改变以后被拷贝回客户区。
SWP_NOMOVE 保持当前的位置(忽略x和y参数)。
SWP_NOOWNERZORDER 不改变拥有者窗口在Z轴次序上的位置。
SWP_NOREDRAW 不重画变化。如果设置了这个标志,则不发生任何种类的变化。这适用于客户区、非客户区(包括标题和滚动条)以及被移动窗口覆盖的父窗口的任何部分。当这个标志被设置的时候,应用程序必须明确地无效或重画要重画的窗口和父窗口的任何部分。
SWP_NOREPOSITION 与SWP_NOOWNERZORDER相同。
SWP_NOSENDCHANGING 防止窗口接收WM_WINDOWPOSCHANGING消息。
SWP_NOSIZE 保持当前的大小(忽略cx和cy参数)。
SWP_NOZORDER 保持当前的次序(忽略pWndInsertAfter)。
SWP_SHOWWINDOW 显示窗口。
SetWindowPos (NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);
相关文章推荐
- C、C++、API、SDK、IDE、VC++、MSDN、MFC、OWL、VCL、ATL 、BCB
- C Runtime Library来历, API, MFC, ATL关系
- MFC中SetWindowPos简单使用说明
- MFC API——》LoadIcon
- C Runtime Library来历, API, MFC, ATL关系
- SDK , MFC 和 API
- MFC使用Google Speech API进行语音识别
- C Runtime Library来历, API, MFC, ATL关系
- 打开文件对话框和文件夹对话框之MFC和API实现
- 基于WIN32 API及MFC的多线程技术
- MFC中C++类如何封装API
- MFC API——》OnSysCommand
- “基于MFC的第三方XML解析和生成API-------CMarkup类”的一个必须要注意的地方
- s3c6410使用MFC-API进行MPEG-4格式解码及LCD播放代码注释
- 转:对MFC封装Windows通讯API的研究
- 使用SetWindowPos API函数移动窗口后,还需修改Delphi的属性值,以备下次使用,否则就会出问题(不是API不起作用,而是使用了错误的坐标值)
- MFC设置窗体大小SetWindowPos
- SDK , MFC 和 API
- 关于 API MFC .net 我之见解
- 关于Windows编程(MFC、API等 自己明白就可)向窗口写内容不能立即显示的问题