Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Geht ja so nicht. Immerhin wäre in den vorherigen Beispielen Panel2 ein "echter" Parent (oder zumindest nicht von einem solchen zu unterscheiden). Wird also der Parent verändert bekommst Du das einmal mit, hat dieser neue Parent also noch kein übergeordnetes Fenster, wirst Du nie erfahren, wenn dieser Parent auf in Fenster platziert wird (dann wird ebend seine setParent-Methode aufgerufen).
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Also dein letzter Vorschlag ist bis jetzt die beste Lösung die ich gesehen hab (die scheint auch gut zu funktionieren).
Deshalb nicht falsch verstehen wenn ich sage, dass die ein wenig unsauber wirkt, dachte halt einfach, dass das auch schöner gehen müsste. Aber wie gesagt, die Beste bisher und die sollte auch funktionieren.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Ok, was heißt denn wissen wo man zur Laufzeit zum liegen kommt? Ich meine nehmen wir deinen zweiten Vorschlag:
Hier übergibst Du als Parent Panel2, ist ein Panel. Ok, wo ist die Garantie dafür, dass ein Panel eine Form als Parent hat? Wie sieht es denn bei folgendem Code aus:
var panel2: TPanel;
x: TMyClass;
begin
panel2 := TPanel.Create(Form1);
x := TMyClass.Create(Form1,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Ok, nochmal, es geht nicht um ein beliebiges TWinControl. Du erzeugst dyn. ein Panel (ohne weiteren Parent/Owner). Dieses Panel ist ein TWinControl! Du erzeugst jetzt eine Combobox und übergibst im Konstruktor dieses Panel als Owner und setzt es danach auch noch mal per Eigenschaft als Parent und Owner und zur Sicherheit fügst Du auch nochmal mit Panel.insertControl die Combobox ein.
Dann...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Das ist aber so falsch!
Das Problem (das Du nach eigener Aussage nicht verstehst) für das Du hier eine Lösung anbietest ist nicht das, das der Thread-Steller hat. Wie vorhin schon gesagt wurde, wird ein Fenster in der Hierachie der Parents benötigt. Probier es einfach mal aus, erstell Dir dyn. eine Combobox (mit einem Parent), wobei weder die Combobox noch die Parent-Komponente der Combobox auf...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Der_Unwissende,
17. Jan 2007
Hi,
die Combobox arbeitet nicht so richtig rund ohne übergeordenetes Fenster. Du solltest also die Items immer nur dann verändern (egal wie), wenn Du die Combobox (oder die Hierachie von möglichen Parents) in einem Fenster liegt. In diesem Fall muss das Panel also auf einem Fenster platziert werden (bzw. ebend ein der Parent des Panel oder dessen Parent...).
Gruß Der Unwissende