![]() |
Komponenten verschieben
(Das Thema bezieht sich auf das
![]() Hallo zusammen, ich komme mit meinem kleinen Programm sehr gut voran, es ist zwar immer noch nicht ganz da, wo ich es gerne hätte, ich bin dem aber schon deutlich näher gekommen. Im laufe der Zeit hat sich mein Programm und daher auch die Einstellungsmöglichkeiten der Parameter derart vergrößert, dass die Einstellungen nicht mehr auf meine Form passen, ich bräuchte also eine spezielle Form dafür. Meine Frage nun (ich habe vorher noch nie mit VCL gearbeitet und kenne mich daher leider nicht so aus ): Gibt es eine Möglichkeit, alle Buttons etc. auf die neue Einstellungsform zu verschieben, so als wenn ich sie auf der Hauptform an einen anderen Platz verschieben würde? Ich würde ungern alle noch einmal neu schreiben. Ich hatte es zuerst versucht, indem ich die Einstellungen wie ein eigenständiges Programm behandele, aber dann muss ich all die Parameter hin und her übertragen, was ich sehr umständlich finde. Kennt jemand einen Weg, wie ich es besser machen könnte ? Vielen Dank schoneinmal für Eure Hilfe! |
AW: Komponenten verschieben
Die einfachste Lösung für dein Problem wäre wohl ein PageControl mit mehreren Seiten.
Damit wären alle Controls und aller Code immer noch auf dem gleichen Formular. Der Benutzer (und auch der Programmierer) kann aber einfach die Seiten im PageControl wechseln. Ich kenne dein Programm nicht aber ich könnte mir vorstellen, dass es 3 Seiten gibt: * Orginalbild * Grafikausgabe * Einstellungen |
AW: Komponenten verschieben
Komponente anklicken, rechte Maustaste Bearbeiten/kopieren jetzt zum gewünschten Formular gehen wieder rechte Maustaste Bearbeiten/Einfügen
und schon steht die Komponenten der Form zur Verfügung. Das ganze funktioniert auch projektübergreifend.... |
AW: Komponenten verschieben
Beim Kopieren auf eine andere Form, werden natürlich nur die Komponenten verschoben, aber nicht die angehängten Events (Quellcodes).
Beim Kopieren innerhalb einer Form bleiben die Events aber vorhanden. Lösungswege: - Komponenten kopieren und dann die Events überall erneut anhängen und dort den Quellcode jeweils reinkopieren. - Erst die Event-Methoden (Quellcode) kopieren. Wenn dann die Komponenten kopiert werden und wenn dabei gleichnamige Methoden in der Form gefundenwerden, dann werden sie auch gleich mit verbunden. - Hätte man vorher OOP-mäßiger programmiert und den Arbeitscode von der GUI getrennt, also in ensprechende Klassen ausgelagert, dann hätte man nun weniger Arbeit, beim Umbau der GUI. :stupid: |
AW: Komponenten verschieben
Nabend nocheinmal,
danke für Eure Antworten! Zitat:
@sx2008: Das ist scheinbar genau das, was ich mir vorgestellt hab. Allerdings komme ich damit noch nicht so ganz zurecht. Habe eben mal ein bisschen rumprobiert und dann im Internet gesucht, ich dachte man könnte die Komponenten auf eine Seite einfach hinzufügen wie ![]() |
AW: Komponenten verschieben
Beim "Verschieben" änderst du nur die X- und Y-Koordinate der Komponente (Left und Top),
aber nicht den Parent. - Komponente markieren - Ausschreiden (Strg+X) - TabSheet (neuen Parent) selektieren - Einfügen (Strg+V) |
AW: Komponenten verschieben
Ahh, da hätte ich eigentlich auch drauf kommen müssen :oops:
Danke aber, jetzt funktioniert es perfekt! Nurnoch kurz: Gibt es einen einfachen weg, die Tabs Aufblinken oder die Farbe wechseln zu lassen? Wenn nicht ist es auch nicht so wichtig, wäre aber Benutzerfreundlicher :) |
AW: Komponenten verschieben
Nur der Vollständigkeit halber. Es gibt auch noch das Fenster Objekt-Hierarchie, da kann man Komponenten innerhalb der Baumstruktur per Drag and Drop von einem Parent zum nächsten schieben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 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