![]() |
Reihenfolge der ToolButtons wird willkürlich geändert...
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe in meinem Programm eine ToolBar it mehreren Buttons. Die Reihenfolge zur Laufzeit ist jedoch eine andere als in der IDE :roll: ... was läuft da schief und was kann man da machen?
|
Re: Reihenfolge der ToolButtons wird willkürlich geändert...
Könnte sein, das die AutoSize-Funktion der Toolbar/ Button bei dir alles zerschiesst. :mrgreen:
|
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
TToolbar => VCL ;) |
Re: Reihenfolge der ToolButtons wird willkürlich geändert...
Nein, am Autosize liegt es nicht :roll: ... Ich hab Autosize gerade mal für die ToolBar und die ToolButtons deaktiviert, dass hatte keinen Einfluß auf dieses Verhalten :wall: :x :cry:
|
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
ich habe seit kurzen genau dieses Problem .... IDE und *.exe unterscheiden sich jetzt plötzlich,
Eigenschaft left der Buttons ist weiterhin richtig in der IDE Toolbar autosize hat keinen Einfluss |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Die Anordung der Tooolbarbuttons auf der Toolbar hat in Delphi noch nie funktioniert. Das ist in VCL schlecht programmiert oder die Windows-API funkt da dazwischen. Vor allem bei einem Resize merkt man es sehr negativ. Da gab es schon vor über 20 Jahren einen QC. Der wurde aber nie von Borland beachtet und geschlossen.
Hier ist eine Liste mit aktuellen Toolbar-Problemen (ca. 70 Stück): ![]() |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Zitat:
|
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Ich konnte dieses Verhalten bisher nur bei einem ToolButton feststellen, der die DropDown-Funktion aktiviert hatte.
|
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
@ Uwe : wo finde ich High DPI Active ?
gibt es ein Tool / Komponente um die Anordnung zur Laufzeit abzuändern |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Ich nehme an, UR meint die DPIAwareness:
Du findest die DPI Einstellung in neueren Delphis unter Projekt > Optionen > Anwendung, "Hochauflösung aktivieren" oder falls du ein eigenes Manifest verwendest eventuell dort (*<dpiAware>true</dpiAware> ) oder du könntest das Ding auch zur Laufzeit beim Programmstart aktivieren (es gibt Menschen, welche dies nicht empfehlen ;-)). |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
auf dem Toolbar sind ~30 Toolbutton , der Buttons.index läüft über alle Buttons .
ferner ist eine Combobox plaziert, deren Index = -1 ; wir haben versucht in unsere Anwendung Ribbons zu implementieren, dieses Vorhaben haben wir aktuell aufgegeben. Beim Rückbau muss sich jetzt dieser Fehler eingeschlichen haben .... |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Hast du die Formulardatei vor dem Ribbonversuch verglichen mit deiner Formulardatei nach dem Rückbau?
Die Reihenfolge der ToolButtons kannst du zur Laufzeit ändern, indem du die Eigenschaft left änderst. 1 und 2 tauschen: l := toolbutton2.Left; toolbutton2.Left := toolbutton1.Left; toolbutton1.Left := l; Ich hab's rasch mit Delphi Berlin mit 5 ToolButtons getestet - es klappt. Wenn das auch nicht klappt, dann würde ich echt mal deine Formulardatei unter die Lupe nehmen. |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
in der dfm Datei steht der richtige .left wert für jeden meiner buttons
Delphi-Quellcode:
object Button_1: TToolButton
Left = 0 Top = 0 ImageIndex = 0 ParentShowHint = False ShowHint = True OnClick = end object Button_1: TToolButton Left = 32 Top = 0 Hint = 'Open new project file' Caption = 'Open project' ImageIndex = 1 ParentShowHint = False ShowHint = True OnClick = end object Button_3: TToolButton Left = 64 Top = 0 Hint = 'Close project' Caption = 'Close project' ImageIndex = 2 ParentShowHint = False ShowHint = True OnClick = ExitClick end .... vertauschen via code hätte ich schon gelöst (nach der Vorlage oben) , ich bin aber auf der Suche nach der richtigen Ursache, weil ein anderes Formular im Entwurf als dann zur Laufzeit ist natürlich Käse |
AW: Reihenfolge der ToolButtons wird willkürlich geändert...
Also wenn ich du wäre, dann würde ich echt mal die alte dfm laden, jene welche noch OK war.
Zu deinem "Codeschnipsel": 1. Die "leeren" OnClick = Zeilen würde ich löschen - als ich deinen dfm Auszug bei mir lud und in ein Form verwandeln wollte, bemängelte Tokyo das Fehlen eines objects im dfm nach Fileende. Als ich die Zeilen löschte war diese Fehlermeldung weg. Es wurde aber nicht besser: 2. Noch etwas "schlimmer" ist, dass du zwei ToolButtons gleich bennennst. Du hast zwei Mal eine Definition für object Button_1: TToolButton. Auch hier motzt Tokyo (zurecht), dass das nicht OK sein könnte. Neben Tokyo würden es wohl auch andere Delphi Versionen so halten ;-). Prüf mal, ob das Löschen der leeren Ereignisse und der Leerzeilen im dfm und das Umbenennen des einen Buttons hilft. Wenn das oben nix bringt, dann schreib doch einfach eine kleine Sortierprozedur, welche du im initialization Teil deiner Form aufrufst. Solange die Buttons 1,1,3,4,5 (kleiner Joke), .... eh Sorry 1,2,3,4,5,.... heissen ist das ja ein Werk von Minuten. Viel Spass. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 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