鱼C论坛

 找回密码
 立即注册
查看: 4738|回复: 1

[API档案] SetParent

[复制链接]
发表于 2016-4-21 01:29:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 Diu 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

SetParent 函数用于改变指定子窗口的父窗口。


API 函数原型:

注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选的。
HWND WINAPI SetParent(
  _In_     HWND hWndChild,
  _In_opt_ HWND hWndNewParent
);

参数解析:

参数 含义
hWndChild 指定子窗口的句柄
hWndNewParent1. 指定新的父窗口的句柄
2. 如果该参数为 NULL,则指定桌面窗口为父窗口
3. 如果该参数为 HWND_MESSAGE,则子窗口变为消息窗口


返回值:

1. 如果函数调用成功,则返回值为前一个父窗口的句柄;

2. 如果函数调用失败,则返回值为 NULL。

获取有关错误的更多信息,请调用 GetLastError 函数。


备注:

1. 应用程序可以使用 SetParent 函数给弹出式窗口,层叠窗口或子窗口设置父窗口。

2. 如果 hWndChild 参数标识的窗口是可见的,系统将执行适当的重绘和刷新动作。

3. 由于兼容性的原因,SetParent 函数并不会改变子窗口的 WS_CHILD 或 WS_POPUP 窗口风格。因此,如果 hWndNewParent 参数为 NULL,你应该在调用 SetParent 函数之后清空 WS_CHILD 位并设置 WS_POPUP 风格。相反的,如果 hWndNewParent 参数不为 NULL,并且在此之前窗口是桌面窗口的子窗口,你应该在调用 SetParent 函数之前清空 WS_POPUP 风格并设置 WS_CHILD 风格。

4. 当你改变一个窗口的父窗口时,你应该同步子窗口和父窗口的 UISTATE。更多信息,请参见 WM_CHANGEUISTATE 消息和 WM_UPDATEUISTATE 消息说明。


需求:

Minimum supported client Windows 2000 专业版 [桌面应用程序]
Minimum supported server Windows 2000 服务器版 [桌面应用程序]
Header Winuser.h(包含于 Windows.h)
Library User32.lib
DLL User32.dll


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-5 22:56:34 | 显示全部楼层
函数功能:
更改子窗口的父窗口
有首歌是这样子的:“I Changes I Changes”

API函数原型:
注释 _In_代表传入 _In_opt_代表可选传入  //小编在多说一句 _In_out 那么可以举一反三 含义什么应该清楚
HWND WINAPI SetParent(
  _In_     HWND hWndChild,
  _In_opt_ HWND hWndNewParent
);

参数含义:
hWndChild [in]
预要修改窗口的句柄

hWndNewParent [in, optional]
一个新父窗口的句柄。如果参数为空 那么 系统 桌面就是 父窗口 如果参数为hwnd_message 那么他就成为一个信息窗口

返回值:
如果成功 就返回 前面父窗口 的句柄  [这么做是为了以后好还原当然你也可以不用他 小编在接触MFC编程的时候 大部分 都是看MSDN 基本都有 返回 old 也就是旧的 值!!]
如果失败 就返回空 更多详情参考调用GetLastError。

备注:
SetParent 这个函数 可以设置窗口弹出窗口 父窗口重叠 或者子窗口
hWndChild这个参数有标识 那么系统会执行 重绘

要求:
最低客服端:Windows2000[桌面应用]
最低服务器:Windows2000[桌面应用]
包含头文件:Winuser.h (include Windows.h)
包含支持库:User32.lib
DLL文件:User32.dll

相关API函数:
GetParent
Conceptual
Windows
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 10:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表