Hallo,
ich mal eine Frage zum dynamischen Erstellen von Formular-Komponenten.
Ich hab mir eine Unit geschrieben (uMyPanel.pas), in der ein Panel erstellt wird, mit verschiedenen Unterkomponenten (Labels und Edit-Felder). Dieses Panel in das Hauptfenster, zur Laufzeit, einzufügen ist ja kein Problem und funktioniert auch ohne Probleme.
Aber ist natürlich ein ziemlicher Zeitaufwand sämtliche Eigenschaften (Left, Top, Width, Height usw.) der einzelnen Komponenten "per Hand" zu programmieren.
Jetzt ist meine Frage, ob es nicht möglich ist so ein Panel mit dem Formulardesigner zu erstellen, den relevanten Teil aus der *.lfm Datei auszuschneiden, in eine eigene lfm-Datei einzufügen und diese dann von der entsprechenden Unit aufzurufen?
Hauptformular -> mainform.pas -> mainform.lfm
Unit mit dem Panel -> umypanel.pas -> umypanel.lfm
Im Internet hab ich leider nichts darüber gefunden.
[ gelöst ] lfm-Dateien dynamisch nachladen
[ gelöst ] lfm-Dateien dynamisch nachladen
Zuletzt geändert von 0liver am Fr 12. Mai 2017, 12:01, insgesamt 1-mal geändert.
Re: lfm-Dateien dynamisch nachladen
Du solltest stattdessen Frames probieren. Diese kannst du mit dem Formulardesigner entwerfen und dann in beliebig vielen Formularen einfügen und sogar dort nochmals verändern: http://wiki.freepascal.org/Frames
Re: lfm-Dateien dynamisch nachladen
Ich schalte das Panel einfach mit Visible unsichtbar
Re: lfm-Dateien dynamisch nachladen
OK, danke für den Hinweis mit den Frames. Bisher habe ich keine Frames verwendet und mich auch nicht über deren Sinn und Zweck informiert, aber ich denke das ist genau das, was ich wollte.
wwerner
Das mit dem unsichtbar machen des Panels würde zwar zur Not auch funktionieren, aber dann könnte ich dieses Panel in keinem anderen Fenster verwenden, falls ich es nochmal brauche.
wwerner
Das mit dem unsichtbar machen des Panels würde zwar zur Not auch funktionieren, aber dann könnte ich dieses Panel in keinem anderen Fenster verwenden, falls ich es nochmal brauche.