複製鏈接
請複製以下鏈接發送給好友

SetParent

鎖定
應用程序可以使用SetParent函數來設置彈出式窗口,層疊窗口或子窗口的父窗口。新的窗口與窗口必須屬於同一應用程序。
中文名
SetParent
Windows NT
3.1以上版本
Windows
95以上版本
Windows CE
1.0以上版本

SetParent聲明方法

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
函數功能:該函數改變某個子窗口的父窗口。
函數原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);
C#申明:
[DllImport("user32")]
static extern IntPtr SetParent(IntPtr hWndChild,IntPtr hWndNewParent);

SetParent參數

hWndChild:
hWndNewParent:
新的父窗口句柄。如果該參數是NULL,則桌面窗口就成為新的父窗口。在WindowsNT5.0中,如果參數為HWND_MESSAGE,則子窗口成為消息窗口。

SetParent返回值

如果函數成功,返回值為子窗口的原父窗口句柄;如果函數失敗,返回值為NULL。若想獲得多錯誤信息,請調用GetLastError函數。

SetParent其他信息

如果參數hWndChild標識的窗口是可見的,系統將執行適當的重畫和刷新動作。
由於兼容的原因,對於將改變父窗口的子窗口,SetParent函數並不改變該子窗口的WS_CHILD WS_POPUP風格。所以,如果hWndNewParent參數為NULL,就應在調用SetParent函數之後清空WS_CHILD位並且設置為WS_POPUP風格。相反的,如果hWndNewParent參數不為NULL並且在此之前窗口是桌面窗口的子窗口,就應在調用SetParent函數之前清空WS_POPUP位並設置WS_CHILD風格。
速查:
Windows NT:3.1以上版本;
Windows:95以上版本;
Windows CE:1.0以上版本:
頭文件:Winuser.h;
庫文件:user32.lib。