Autor | Thema: Eingebettete Fenster | | Datum:03.02.02 13:36 
(stephans_email@freenet.de) | |
Hallo zusammen!
Ich frage mich schon seit einer Weile, ob es mit Profan auch möglich ist, Fenster bzw. Dialoge quasi in das Hauptfenster einzubetten, wie das bei z.B. Multi-Window-Editoren der Fall ist. Beim Klicken auf das Vergrößern-Icon nimmt das Kindfenster dann innerhalb des Elternfensters den maximalen Platz ein und die Systemicons des Kindfensters werden rechts oben unterhalb der Systemicons des Hauptfensters dargestellt.
Ist so etwas mit Profan umsetzbar? Gibt es dazu bereits einen fertigen Fensterstil oder hat jemand einen Beispiel-Quellcode?
Dankeschön schon voraus für Eure Tips! Ich wünsche Euch noch einen schönen Sonntag
Stephan
|
| | Datum:03.02.02 13:50 
(privat@sekoenig.de) | |
Hallo,
Ja, so etwas ist mit Profan² möglich.
Im Quellcode-Bereich meiner Homepage findest Du einen Beispiel-Quellcode dazu: MDI.prf
MfG
Sebastian
|
| | Datum:05.02.02 06:46 
(stephans_email@freenet.de) | |
Hallo Sebastian!
Vielen Dank für Deinen Quelltext! Ich habe ihn in mein Programm eingefügt und das klappt auch soweit ganz gut. Allerdings hab ich noch folgendes Problem:
Ich habe in mein Hauptfenster mittels Prfellow eine Toolbar und eine Statusbar eingefügt. Beim Erstellen der Childwindows werden beide Zeilen gelöscht bzw. übermalt. Ist es auch möglich, die Größe des Childwindows zu Fuß zu bestimmen? Also nicht automatisch in maximaler Größe, sondern eine Vorgabe der Form X1%, y1%, dx%, dy%?
Zudem möchte ich auf das Childwindow beliebige Dialogelemente und Bitmaps darstellen. Ich habe daher den Bereich "Edit einfügen" in Deinem Quelltext ge-rem-t. Kann es dadurch zu Problemen kommen?
Gruß Stephan
|
| | Datum: 06.02.02 15:00 
(privat@sekoenig.de) | |
Hallo,
> Ich habe in mein Hauptfenster mittels Prfellow eine Toolbar
> und eine Statusbar eingefügt. Beim Erstellen der
> Childwindows werden beide Zeilen gelöscht bzw. übermalt.
Dieses Problem solltest Du eigentlich lösen können, indem Du Größe und Position des MDI-Client-Fensters so änderst, dass es sich nicht mit der Tool- und Statusbar überschneitet. (siehe Prozedur CreateMDIClient)
Dazu musst Du lediglich mit GetWindowRect() die Dimensionen der Bars ermitteln und die Position und Größe des MDI-Clients entsprechend berechnen
Beispiel: Pos. X: 0, Pos. Y: 0 + Höhe Toolbar, Größe X: Client-Breite des Hauptfensters, Größe Y: Client-Höhe des Hauptfensters - Höhe Statusbar
> Ist es auch möglich, die Größe des Childwindows zu Fuß zu
> bestimmen? Also nicht automatisch in maximaler Größe,
> sondern eine Vorgabe der Form X1%, y1%, dx%, dy%?
Ja, das ist möglich. Dazu musst Du nur in der Prozedur AddChildWindow die Zeile ShowWindow(newChild&,3) auskommentieren und die Größe des Childfensters beim Erstellen entsprechend wählen.
> Zudem möchte ich auf das Childwindow beliebige
> Dialogelemente und Bitmaps darstellen. Ich habe daher den
> Bereich "Edit einfügen" in Deinem Quelltext ge-rem-t. Kann
> es dadurch zu Problemen kommen?
Nein, das sollte eigentlich keine Probleme ergeben.
MfG
Sebastian
|
|
|