程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中停靠技術的實現(5)

Delphi中停靠技術的實現(5)

編輯:Delphi

下面我來講一下兩個窗體怎樣停靠成PageControl樣式。

首先創建一個窗體,叫TabHost,在它上面放一個PageControl,Align屬性設成alClIEnt,讓它占滿整個TabHost,別忘了把PageControl的DockSite屬性設成True.

然後我們依次加入代碼:

procedure TDockableForm.FormDockOver(Sender: TObject;
  Source: TDragDockObject; X, Y: Integer; State: TDragState;
  var Accept: Boolean);
var
  ARect: TRect;
begin
  Accept := Source.Control is TDockableForm;
  if Accept then
  begin
   ARect.TopLeft := ClientToScreen(ClIEntRect.TopLeft);
   ARect.BottomRight := ClientToScreen(ClIEntRect.BottomRight);
   Source.DockRect := ARect;
  end;

procedure TDockableForm.CMDockClient(var Message: TCMDockClIEnt);
var
  Host: TForm;
begin
  if Message.DockSource.Control is TDockableForm then
  begin
    Host := TTabHost.Create(Application);
    Host.BoundsRect := Self.BoundsRect;
    Self.ManualDock(TTabHost(Host).PageControl1, nil, alClIEnt);
    Message.DockSource.Control.ManualDock(TTabHost(Host).PageControl1, nil, alClIEnt);
    Host.Visible := True;
    End;
End;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved