CSANecromancer
Erfahrenes Mitglied
Folgendes kleines Problemchen:
Ich habe eine MDI-Anwedung. Da recht viel mit den MDI-Childs umeinander gebastelt wird, habe ich erst das Problem gehabt, daß eine Maximierung eines MDI-Childs mir nicht mehr so recht das gewünschte Resultat bringt. Exakter: In der Titelleiste der MDI-Childs stehen Strings mit den Namen der jeweiligen MDI-Childs. Bei einem Maximize verschwinden diese Titelleisten und auch weitere Dinge gehen nicht mehr so rund.
Also bin ich hergegangen und habe im TForm der MDI-Child das Border Icon für Maximize auf false gesetzt. Damit aber die MDI-Childs doch irgendwie "maximiert" werden können, dachte ich mir nun Folgendes:
Durch einen Doppelklick auf das MDI-Child werden dessen Eigenschaften Top, Left, Width und Height passend gesetzt, so daß das MDI-Child komplett den gesamten Clientbereich des Hauptfensters ausfüllt. Die Routine funktioniert auch so weit sehr zufriedenstellend:
fmMain: Hauptformular.
TfmPicture: MDI-Child Formular
Design von fmMain sieht ungefähr so aus:
+--------------------------------------------------------------------------------
| Hauptmenü
+--------------------------------------------------------------------------------
| atbMain (Toolbar)
+--------------------------------------------------------------------------------
| atbSub (Toolbar)
+--------------------------------------------------------------------------------
|
| Clientbereich
|
|
|
|
|
|
+--------------------------------------------------------------------------------
| StatusBar
+--------------------------------------------------------------------------------
Was mich an der ganzen Sache stört, sind die festcodierten -4 sowohl bei der Höhe als auch der Breite. Wenn ich das richtig verstehe, dann sind das jeweils 2 Pixel Breite von irgendeinem Bevel, entweder vom fmMain oder vom TfmPicture.
Und hier die Quizfrage:
Kann ich die -4 durch irgendeine vernünftige Bevel-Abfrage ersetzen?
Ich habe schon ziemlich gesucht, aber einfach nichts Vernünftiges dazu gefunden.
Ich habe eine MDI-Anwedung. Da recht viel mit den MDI-Childs umeinander gebastelt wird, habe ich erst das Problem gehabt, daß eine Maximierung eines MDI-Childs mir nicht mehr so recht das gewünschte Resultat bringt. Exakter: In der Titelleiste der MDI-Childs stehen Strings mit den Namen der jeweiligen MDI-Childs. Bei einem Maximize verschwinden diese Titelleisten und auch weitere Dinge gehen nicht mehr so rund.
Also bin ich hergegangen und habe im TForm der MDI-Child das Border Icon für Maximize auf false gesetzt. Damit aber die MDI-Childs doch irgendwie "maximiert" werden können, dachte ich mir nun Folgendes:
Durch einen Doppelklick auf das MDI-Child werden dessen Eigenschaften Top, Left, Width und Height passend gesetzt, so daß das MDI-Child komplett den gesamten Clientbereich des Hauptfensters ausfüllt. Die Routine funktioniert auch so weit sehr zufriedenstellend:
fmMain: Hauptformular.
TfmPicture: MDI-Child Formular
Design von fmMain sieht ungefähr so aus:
+--------------------------------------------------------------------------------
| Hauptmenü
+--------------------------------------------------------------------------------
| atbMain (Toolbar)
+--------------------------------------------------------------------------------
| atbSub (Toolbar)
+--------------------------------------------------------------------------------
|
| Clientbereich
|
|
|
|
|
|
+--------------------------------------------------------------------------------
| StatusBar
+--------------------------------------------------------------------------------
Code:
procedure TfmPicture.imPictureDblClick(Sender: TObject);
begin
Top := 0;
Left := 0;
Width := fmMain.ClientWidth - 4;
Height := fmMain.StatusBar.Top - (fmMain.atbSub.Top + fmMain.atbSub.Height) - 4;
end;
Was mich an der ganzen Sache stört, sind die festcodierten -4 sowohl bei der Höhe als auch der Breite. Wenn ich das richtig verstehe, dann sind das jeweils 2 Pixel Breite von irgendeinem Bevel, entweder vom fmMain oder vom TfmPicture.
Und hier die Quizfrage:
Kann ich die -4 durch irgendeine vernünftige Bevel-Abfrage ersetzen?
Ich habe schon ziemlich gesucht, aber einfach nichts Vernünftiges dazu gefunden.