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 Abstand der Tabsheets zum PageControl entfernen? (https://www.delphipraxis.net/61443-abstand-der-tabsheets-zum-pagecontrol-entfernen.html)

Mystic 21. Jan 2006 14:59


Abstand der Tabsheets zum PageControl entfernen?
 
Ich versuche gerade einen First-Run Wizard zu erstellen. Ich verwende dazu ein PageControl.

Natürlich sollten dazu die Tabs weg sein. Per TabSheet.TabVisible := false und PageControl.Style := tsFlatButtons komme ich nun zu folgendem Ergebnis:

http://img509.imageshack.us/img509/6962/tabsheet5mw.png

Wie kriege ich jetzt noch den Abstand zwischen dem Tabsheet und dem PageControl weg (hier Rot eingefärbt)?

Mystic 21. Jan 2006 16:31

Re: Abstand der Tabsheets zum PageControl entfernen?
 
Hat sich erledigt. Hier die Lösung:

Delphi-Quellcode:
type
  TWizardForm = class(TForm)
    {...}
  private
    { Private declarations }
    OldPagesWndProc: TWndMethod;
    procedure NewPagesWndProc(var Message:TMessage);
  end;
Delphi-Quellcode:
procedure TWizardForm.FormCreate(Sender: TObject);
begin
  OldPagesWndProc := Pages.WindowProc;
  Pages.WindowProc := NewPagesWndProc;
end;

procedure TWizardForm.NewPagesWndProc(var Message: TMessage);
begin
  if Message.Msg = TCM_ADJUSTRECT then
  begin
    OldPagesWndProc(Message);
    PRect(Message.LParam)^.Left  := 0;
    PRect(Message.LParam)^.Right := ClientWidth;
    PRect(Message.LParam)^.Top   := PRect(Message.LParam)^.Top - 4;
    PRect(Message.LParam)^.Bottom := ClientHeight;
  end else
    OldPagesWndProc(Message);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.

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