Ich hatte vor einer Weile nach einer sicheren Methode gesucht, die MDI-Childs auf die neue Größe des MDI-Parents automatisch anpassen zu lassen, aber leider nichts passendes gefunden. Bei einer einzelnen Form ist das ja kein Problem. Wie sieht es aber aus, wenn ich z.B links ein Ansichts/Auswahlbereich habe und rechts das Form ständig austausche?? Im Normalfall würde ich die beiden Childs mit Hilfe von ScaleWidth und ScaleHeight ausrichten. Aber es geht auch anders. Anstelle den Ansichts/Auswahlbereich als eigenständige Form zu implementieren, verwendet man einfach ein PictureBox-Control und platziert die notwendigen Elemente dann direkt auf die PictureBox. Das PictureBox-Control selbst wird hierbei direkt im MDI-Parent-Form erstellt - und genau das ist der ganze Trick! Wir brauchen also zunächst eine MDI-Form (frmStart) und 1-... MDI-Childs. Im MDI-Form eine Picturebox (Picture1) einfügen und die Align-Eigenschaft der PictureBox auf "3 - links ausrichten" einstellen. Nun die Width-Eigenschaft auf die benötigte Breite festlegen (z.B. 3000). Achtung: die Height-, Top und Left-Eigenschaften sind schreibgeschützt, da die Ausreichtung durch das Setzen der Align-Eigenschaft vom System vorgenommen wird! Auf dieser Picturebox noch ein paar Label, Textboxen,... erstellen. Nun zu den MDI-Childs (Form1). Hier die Eigenschaft Borderstyle auf "2 - Änderbar" festlegen und ControlBox auf "False" setzen (kann auch auf True bleiben. Unterdrückt nur die Anzeige des Minimieren, Maximieren und Schliessen-Symbols des MDI-Childs). Die Eigenschaft MDIChild muss natürlich auf "True" gesetzt werden (wichtig, wenn es in das MDI-Form geladen werden soll) und zu guter Letzt noch WindowState auf "2 - Maximiert" festlegen. Die MDI-Childs können jetzt über folgenden Code in das MDI-Form geladen werden: Dim oChild As Form Set oChild = New Form1 oChild.Show Die Child-Form wird hierbei autom. rechts neben unserer PictureBox, die ja als Auswahlfenster dient, platziert - und zwar so dass der gesamte rechte MDIParent-Bereich ausgefüllt ist. Wird die MDI-Form vergrößert oder verkleinert, passt sich die Child-Form autom. an. Wer das MDI-Child auf die ganze Formgröße maximieren will, braucht nur die Picturebox im MDI-Parent-Form ausblenden (frmStart.Picture1.Visible = False). Das MDI-Child maximiert sich automatisch auf die komplette Größe des MDI-Forms. Probiert es einfach mal aus. Das macht sich einwandfrei. Dieser Tipp wurde bereits 15.899 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |