![]() |
| VB 4/6- und VBA-Forum - Beitragsübersicht - |
|
| Von |
Sophus |
| E-Mail |
dophus@gmail.com |
| Datum |
14. Februar 2015 um 03:59:29 |
| Frage |
Hallo Leute,
ich fand auf eurer Seite diesen Tipp: Auflösungsunabhängige Programme mit Klasse. Dieser Tipp funktioniert auch tadellos, jedoch bekomme ich Probleme, sobald ich mit einer MDI-Form arbeite und die Formen MDI-Child = True besitzen.
Und zwar: Ihr erstellt eine Form in eurem Projekt, fügt eine MDI-Form hinzu, und macht die normale Form zu MDIChild = True und kopiert den nachfolgenden Code in eure Form. Natürlich die Klasse nicht vergessen :-)Option Explicit 'Objekt der Resize-Klasse Private objResize As New clsResize Private Sub Form_Load() Me.Height = 3000 Me.Width = 3000 'Formular registrieren objResize.Form = Me End Sub Private Sub Form_Resize() 'Alle registrierten Steuerelemente anpassen objResize.ResizeControls End Sub Private Sub Form_Unload(Cancel As Integer) 'Speicher freigeben Set objResize = Nothing End Sub Wie ihr seht, habe ich die Größe der Form in einem Form_Load-Ereignis angepasst, und das bevor das Formular und die Steuerelemente registriert werden. In der IDE bekommt man zur Laufzeit keine Probleme. Wenn man aber das kleine Programm als EXE-Datei kompiliert, und sie dann ausführt, dann fährt sich das Programm zur Laufzeit fest. Es reagiert nicht mehr. Erst wenn ich die Größenangaben für die Form weglassen funktioniert es auch in der kompilierten Datei.
Wie kann ich das Problem "umgehen"? Das Problem ist einfach, sobald die Formen, die die Eigenschaft MDIChild = True haben und BorderStyle = 2, also Veränderbar, dann werden die Formen in der MDI-Form nicht in ihrer Größe angezeigt, die man zur Entwurfzeit eingestellt hat.
Hat jemand eine Idee? |
|
| [ Antwort schreiben | Zurück zum VB 4/6- und VBA-Forum | Forum-Hilfe ] |
|
|
| Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|