AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten verschieben

Ein Thema von VkPenguin · begonnen am 15. Jul 2012 · letzter Beitrag vom 16. Jul 2012
Antwort Antwort
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#1

Komponenten verschieben

  Alt 15. Jul 2012, 20:26
(Das Thema bezieht sich auf das hier bereits angesprochene Programm)

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!
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Komponenten verschieben

  Alt 15. Jul 2012, 20:36
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
  Mit Zitat antworten Zitat
borstenei

Registriert seit: 12. Nov 2011
121 Beiträge
 
#3

AW: Komponenten verschieben

  Alt 15. Jul 2012, 21:44
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....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Komponenten verschieben

  Alt 15. Jul 2012, 22:54
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.
$2B or not $2B

Geändert von himitsu (15. Jul 2012 um 22:58 Uhr)
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#5

AW: Komponenten verschieben

  Alt 15. Jul 2012, 23:46
Nabend nocheinmal,

danke für Eure Antworten!

Zitat:
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.
Tja, da hast Du wohl recht. Immerhin, dadurch lernt man, es nächstes mal (hoffentlich) besser zu machen

@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 hier beschrieben.. Aber das funktionier aus irgendeinem Grund noch nicht. Wenn ich z.B. einen Button auf eines meiner beiden Tabsheets ziehe ist der Button auf dem Formular, dass darunter liegt und nicht in dem Tabsheet eingebettet. Wenn ich das Tabsheet also verschiebe o.ä. bleibt der Button einfach. Ich stehe glaube ich auf dem Schlauch, wie funktioniert denn das??
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Komponenten verschieben

  Alt 15. Jul 2012, 23:54
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)
$2B or not $2B
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#7

AW: Komponenten verschieben

  Alt 16. Jul 2012, 00:51
Ahh, da hätte ich eigentlich auch drauf kommen müssen

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
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Komponenten verschieben

  Alt 16. Jul 2012, 09:21
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.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 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