您的位置:首页 > 编程语言 > PHP开发

WinApi: GetParent、SetParent、MoveWindow - 获取、指定父窗口和移动窗口

2008-03-10 00:39 537 查看
提示: 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.

//效果图:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: