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 ToolBar zeichnet alle Buttons erst nach Resize (https://www.delphipraxis.net/136628-toolbar-zeichnet-alle-buttons-erst-nach-resize.html)

Jazzman_Marburg 4. Jul 2009 11:28


ToolBar zeichnet alle Buttons erst nach Resize
 
Tach auch!

Vielleicht hat jemand ja eine Idee, was da bei mir schief läuft:
Auf der Main Form habe ich eine ToolBar mit 8 Buttons (Style: tbsButton, mit Images). Wenn ich das Programm starte werden aber nur die ersten vier linken Buttons gezeichnet -- die restlichen vier erst dann wenn ich die Main Form resize (egal ob vertikal oder horizontal, egal ob kleiner oder größer).
Habe in der "procedure TMain_Frm.FormActivate" zu Testzwecken mal alle möglichen Upadte/Refresh Prozeduren für die ToolBar untergebracht:

ToolBar1.Repaint;
ToolBar1.Refresh;
ToolBar1.Update;
ToolBar1.UpdateControlState;

Leider völlig ohne Wirkung -- die vier Buttons bleiben unsichtbar bis zu einem Resize-Event.
Habe natürlich alle Properties dieser vier Buttons mit den ersten vier verglichen -- völlig identisch!

Achja: Turbo Delphi Version 10.0.2558.35231 Update 2, auf Vista

Habt ihr eine Idee, was da los ist?
Verträgt die ToolBar nicht mehr als vier Buttons (natürlich quatsch, aber mittlerweile...)

Vielen Dank
Jazzman

sx2008 4. Jul 2009 16:24

Re: ToolBar zeichnet alle Buttons erst nach Resize
 
schon versucht?
Toolbar kopieren (Strg-C) und Projekt schliesen.
Neues leeres Projekt anlegen und Toolbar aus Clipboard einfügen.
Starten. Und wie sieht's im neuen Projekt aus?

Jazzman_Marburg 4. Jul 2009 19:28

Re: ToolBar zeichnet alle Buttons erst nach Resize
 
Hallo!

Gute Idee!
Also die ToolBar mit der dazugehörigen ImageList (Icons für die Buttons der ToolBar) kopiert und in einem neuen, sonst komplett leerem Projekt auf die Form eingefügt. Im Designmodus wie gehabt -- alle Buttons da.
Zur Laufzeit hingegen gleicher Effekt: nur die ersten vier Buttons sind sichtbar. Das Resize bringt sie dann hervor.

Nun dachte ich, es könnte je irgendwas an den Bildchen sein. Also die Buttons umsortiert -- gleicher Effekt: Nur die ersten vier (diesmal, die sonst 'unsichtbaren') sind nach dem Compilieren zu sehen.

Sehr merkwürdig das!

Aber die Idee war gut -- werde mal mit dem 'leerem' und der Toolbar weiter testen.

Danke & Gruss
Jazzman

Jazzman_Marburg 4. Jul 2009 19:33

Re: ToolBar zeichnet alle Buttons erst nach Resize
 
Nochmal Hallo.

Bin ein Schritt weiter: Es hat etwas mit den Trennern zu tun!
In der ToolBar habe ich zwei Trenner. Der erste trennt die ersten vier Buttons von dem Rest. Nehme ich beide Trenner raus -- kein Problem!
D.h. alles was nach dem ersten Trenner kommt wird erst nach einem Resize gerendert.

Keine Ahung, was da los ist...

Gruss
Jazzman

Jazzman_Marburg 4. Jul 2009 19:48

Re: ToolBar zeichnet alle Buttons erst nach Resize
 
Hallo.

Habe einen Workaround gefunden: https://forums.codegear.com/thread.jspa?threadID=16860

Sowohl tbsDivider als auch tbsSeparator sind wohl buggy. Stattdessen als Trenner einfach einen leeren Button verwenden.
Das hilft schon mal -- aber ein wenig unschön ist es schon.

Also, vielen Dank & Gruss
Jazzamn


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