Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi PageControl bei alClient auf Tabsheet Größe vergößern (https://www.delphipraxis.net/148097-pagecontrol-bei-alclient-auf-tabsheet-groesse-vergoessern.html)

ryLIX 22. Feb 2010 18:01


PageControl bei alClient auf Tabsheet Größe vergößern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich möchte gern ein PageControl mit alClient so vergößern das die Tabs ein anderes Control überlagern.
Ich hab schon versucht was mit alCustom zu basteln aber das funktioniert irgendwie nicht :(

Ich hab ein Beispiel Screen angehängt.
Hat jemand eine Idee wie man das realiseren kann?

Noch kurz was zu dem Form:
Oben ist ein TImage mit alTop, Links ein Treeview mit alLeft und ein Splitter mit alLeft und das PageControl welches alClient haben sollte aber die Tabs sollten halt oben überlagern.

ryLIX 22. Feb 2010 20:40

Re: PageControl bei alClient auf Tabsheet Größe vergößern
 
Ok nach viel rumprobieren hier die Auflösung:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
[...]
  protected
    { Protected-Deklarationen }
     procedure CustomAlignPosition(Control: TControl; var NewLeft: Integer;
      var NewTop: Integer; var NewWidth: Integer; var NewHeight: Integer;
      var AlignRect: TRect; AlignInfo: TAlignInfo); override;
  end;
[...]
procedure TForm1.CustomAlignPosition(Control: TControl; var NewLeft, NewTop,
  NewWidth, NewHeight: Integer; var AlignRect: TRect; AlignInfo: TAlignInfo);
begin
  inherited;
  if Control = PageControl1 then
  begin
    NewLeft := AlignRect.Left;
    Newtop := NewTop - PageControl1.TabHeight;
    NewWidth := AlignRect.Right;
    NewHeight := AlignRect.Bottom;
  end;
end;
Dieser Code ergibt dann das aussehen wie im Screenshot aber so das die Breite über den Splitter variabel bleibt und das PageControl trotzdem den Rest des Fensters ausfüllt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz