Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ToolButton - Größe zur Laufzeit einstellen? (https://www.delphipraxis.net/77502-toolbutton-groesse-zur-laufzeit-einstellen.html)

MarLe 20. Sep 2006 14:20


ToolButton - Größe zur Laufzeit einstellen?
 
Hallo,

Mit folgender Procedure erstelle ich einige ToolButtons
auf einer ToolBar.
Wie kann ich die Größe der Buttons beeinflussen???
Irgendeine Eigenschaft blockiert anscheinend .Widht/.Height

Delphi-Quellcode:
procedure TForm1.TBCreateClick(Sender: TObject);
var
  TB: TToolButton;
  i: integer;
begin
  for i := StrToInt(Edit1.Text) downto 1 do
  begin
    TB := TToolbutton.Create(self);
    TB.Parent := ToolBar;
    TB.Width := 35;      // wirkt sich nicht aus
    TB.Height := 35;     // ???
    //TB.AutoSize := False;
    TB.Caption := IntToStr(i);
    TB.ShowHint := True;
    TB.Hint := 'Button ' + IntToStr(i);
    TB.style := tbsButton;
  end;
end;
Gruss MarLe

Techcrawler 22. Sep 2006 10:01

Re: ToolButton - Größe zur Laufzeit einstellen?
 
Ich kenne den TToolButton nicht, aber es könnte sein, dass du ein
TB.AutoSize := false;
einfügen musst.

uwewo 22. Sep 2006 10:10

Re: ToolButton - Größe zur Laufzeit einstellen?
 
Ist doch klar, Du mußt die Breite und Höhe in der ToolBar eingeben.

Delphi-Quellcode:
ToolBar.ButtonHeight := 35;
ToolBar.ButtonWidth := 35;

MarLe 22. Sep 2006 10:25

Re: ToolButton - Größe zur Laufzeit einstellen?
 
Danke, das hatte ich auch schon probiert.

Das Ganze funktioniert bei den ToolButtons die ich während der Entfwurfszeit
angelegt habe problemlos. Bei meinen zur Laufzeit erstellten Buttons
rührt sich aber nicht's.

Ich will eigentlich zur Laufzeit mehrere ToolButtons erstellen die sich
der Größe (Höhe) der ToolBar anpassen. Bei mir sind jetzt die ToolButtons
wesentlich kleiner als die ToolBar.

uwewo 22. Sep 2006 12:49

Re: ToolButton - Größe zur Laufzeit einstellen?
 
Also bei mir funktioniert das

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  TB: TToolButton;
  i: integer;
begin
  for i := StrToInt(Edit1.Text) downto 1 do
  begin
    TB := TToolbutton.Create(self);
    TB.Parent := ToolBar;
    TB.Caption := IntToStr(i);
    TB.ShowHint := True;
    TB.Hint := 'Button ' + IntToStr(i);
    TB.style := tbsButton;
  end;
     ToolBar.ButtonHeight := 35;      
     ToolBar.ButtonWidth := 35;
end;
Und bei Dir sicher auch.
Außerdem muß Du noch im OI die ToolBar auf AutoSize setzen.

MarLe 25. Sep 2006 13:42

Re: ToolButton - Größe zur Laufzeit einstellen?
 
Jetzt funktioniert's.
Wenn bei der ToolBar ShowCaptions auf True steht geht's nicht?!?

Was auch komisch ist dass bei mehreren Buttons (z.B. 30) nicht korrekt
innerhalb der Grenzen der ToolBar die Buttons angeordnet werden.
z.B. bei drei Reihen bleiben bei der zweiten und dritten Reihen Lücken.
Verschiebe ich dann die Formgröße wird "wild" angeordnet?!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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