GetParent、SetParent、MoveWindow - 获取、指定父窗口和移动窗口,IsChild - 判断两个窗口是不是父子关系
提示: SetParent 应该 Windows.SetParent, 因为 TForm 的父类有同名方法.
//声明: {获取父窗口句柄} GetParent(hWnd: HWND): HWND; {指定父窗口} SetParent( hWndChild: HWND; {子句柄} hWndNewParent: HWND {父句柄} ): HWND; {成功返回原父窗口句柄; 失败返回 0} {移动窗口} MoveWindow( hWnd: HWND; {窗口句柄} X, Y: Integer; {位置} nWidth, nHeight: Integer; {大小} bRepaint: BOOL {True 表示刷新; False 表示不刷新} ): BOOL;
//举例: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if GetParent(Edit1.Handle)=Handle then begin Windows.SetParent(Edit1.Handle, Button1.Handle); MoveWindow(Edit1.Handle, 0,0, Edit1.Width, Edit1.Height, True); end else begin Windows.SetParent(Edit1.Handle, Self.Handle); MoveWindow(Edit1.Handle, 0,0, Edit1.Width, Edit1.Height, True); end; end; end.
http://www.cnblogs.com/del/archive/2008/03/10/1097964.html
GetParent - 获取指定窗口的父窗口句柄
IsChild - 判断两个窗口是不是父子关系
http://www.cnblogs.com/del/category/122518.html