delphi 부동 창

852 단어 Delphi부동창
포토샵과 같은 패널 창은 패널 창과 메인 창이 활성화되어 있습니다.
Spy & Capture로 살펴보면 이 패널 창의 Parent Window는 모두 Photoshop의 메인 창(Photoshop CS를 예로 들면 메인 창의 Handle은 001906D8이고 모든 패널의 Parent Window는 001906D8을 가리킨다)이다. 일반적으로 우리가 만든 창의 Parent는 None이다.
다음 코드는 이러한 부동 창을 실현하기 위한 시범이다.

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
// Form2 Parent  Form1
Form2 := TForm2.CreateParented(Form1.Handle);
Form2.Show;
//  Form2      
SendMessage(Form2.Handle, WM_NCACTIVATE, Ord(True), 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Close;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
//       
if Form2.Showing then Form2.Close;
end;

end.

위의 코드는Form1과 같은 곳에서 활성화된Form2를 표시하고,Form2의BorderStyle과BorderIcons 속성에 대해 필요한 선택을 하면 더욱 완벽한 효과를 얻을 수 있습니다!

좋은 웹페이지 즐겨찾기