Hallo Joe,
danke für den Hinweis. Aber das tut es auch nicht, da durch die Anordnung der Steuerelemente(Was sich in einer Klasse befindet), dann automatisch die Form angezeigt wird 
im Modul lade ich das MDI Formular, via Load … und danach erst Show
Auch habe ich probiert ein Flag zu setzen was mir das laden anzeigt und dann in der MDI Form me.hide und me.show verwendet, aber auch das brachte nichts. Die Formen werden immer aktualisiert 
Ich weiss echt nicht wo mein Fehler liegt 
Anbei poste ich mal ein wenig Code, damit es erkenntlich wird
'Sub Main
Sub Main()
Call InitCommonControls
RegPfad = "Software\" & App.ProductName
Dateiformat(0) = "Datei"
Dateiformat(1) = "MPEG"
Dateiformat(2) = "WMA"
Dateiformat(3) = "MONKEY"
Dateiformat(4) = "FLAC"
Dateiformat(5) = "WAV"
Dateiformat(6) = "OGG"
Dateiformat(7) = "MPP"
Dateiformat(8) = "AAC"
Dateiformat(9) = "MP4"
Logo.Show
End Sub
'in der Form Logo
Option Explicit
Private Sub Form\_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
End Sub
Private Sub Timer1\_Timer()
Load Start
Start.Show
End Sub
'Form Start, welches das MDI Formular ist
Private Sub MDIForm\_Activate()
Call SetScreen(Me)
End Sub
Private Sub MDIForm\_Initialize()
If IsThemeActive Then Call ActivateWindowTheme(Me.hwnd)
End Sub
Private Sub MDIForm\_Load()
Dim Maus As New WaitCursor
Call Maus 'Maus wird auf sanduhr gestelllt
me.Hide ' Zu testzwecken -\> Form unsichtbar!
Unload Logo 'Logo wird entladen
Minimiert = False 'Flag für TNA wird gesetzt
Call GetRegistryData 'Registrierungsdaten werden ausgelesen
Call GetPos 'Position des Fenster wird ermittelt -\> Anpassung Kommt später
Call WriteRecent 'RecentFiles werden im Menu eingetragen
'Bis hier ist alles ausgeblendet!
Load Haupt 'MDI Child Haupt wird geladen
'Hier ist nun das MDI Formular sichtbar!
Load Einstellungen
Load Musik
Load Program
Load Video
Load Adressen
RegData = "Firsttime"
Call WertLesen(HKEY\_CURRENT\_USER, RegPfad & "\Allgemein", RegData, 2)
If CByte(RegData) = 1 Then
Call SetValue(RegPfad, "Firsttime", 3, zBYTE)
Set Maus = Nothing
MsgBox "Sie haben " & App.ProductName & " zum ersten mal gestartet!" & vbNewLine & "Stellen Sie nun " & App.ProductName & " nach ihren Wünschen ein.", vbInformation
Call mnusetup\_Click
Else
Combo1.ListIndex = 0
End If
End Sub
Private Sub MDIForm\_Resize()
On Error Resume Next
If Me.WindowState = 1 Then
Minimiert = True
Exit Sub
End If
If Minimiert Then
Minimiert = Not (Minimiert)
Exit Sub
End If
Me.Frame1.Width = Me.ScaleWidth - Me.Frame1.Left - 10
Me.ProgressBar1.Width = Frame1.Width - ProgressBar1.Left - 50
Call Haupt.Form\_Resize
Call Einstellungen.Form\_Resize
Call Musik.Form\_Resize
Call Program.Form\_Resize
Call Video.Form\_Resize
Call Adressen.Form\_Resize
On Error GoTo 0
End Sub
Private Sub MDIForm\_Unload(Cancel As Integer)
If InTray Then
Shell\_NotifyIcon NIM\_DELETE, nid
End If
If AllgemeinData And &H10 Then
Call SetValue(RegPfad & "\Allgemein\Window", "Left", Me.Left, zDWORD)
Call SetValue(RegPfad & "\Allgemein\Window", "Top", Me.Top, zDWORD)
Call SetValue(RegPfad & "\Allgemein\Window", "Width", Me.Width, zDWORD)
Call SetValue(RegPfad & "\Allgemein\Window", "Height", Me.Height, zDWORD)
End If
End Sub
'hier mal fix ein Auzug aus der Haupt.frm
'Jedes andere Formular ist genauso aufgebaut!
Option Explicit
Private oResize As clsResize
Private Sub Form\_Activate()
Call SetScreen(Me) 'Es wird nur das Menu angepasst im MDI Formular
End Sub
Private Sub Form\_Load()
With Image1
.Left = (Me.ScaleWidth / 2) - (.Width / 2)
End With
Set oResize = New clsResize
oResize.oform = Haupt
oResize.Initialize
End Sub
Public Sub Form\_Resize()
On Error Resume Next
Me.Top = 0: Me.Left = 0: Me.Height = Start.ScaleHeight: Me.Width = Start.ScaleWidth
oResize.DoResize
On Error GoTo 0
End Sub
'nun noch fix die Klassen
'Klasse ClsForm
Option Explicit
Private mvar\_Top As Long
Private mvar\_Left As Long
Private mvar\_Width As Long
Private mvar\_Height As Long
Public Property Let Top(ByVal vData As Long)
mvar\_Top = vData
End Property
Public Property Get Top() As Long
Top = mvar\_Top
End Property
Public Property Let Left(ByVal vData As Long)
mvar\_Left = vData
End Property
Public Property Get Left() As Long
Left = mvar\_Left
End Property
Public Property Let Width(ByVal vData As Long)
mvar\_Width = vData
End Property
Public Property Get Width() As Long
Width = mvar\_Width
End Property
Public Property Let Height(ByVal vData As Long)
mvar\_Height = vData
End Property
Public Property Get Height() As Long
Height = mvar\_Height
End Property
'Klasse ColControls
Option Explicit
Private mCol As Collection
Public Function Add(ByVal lTop As Long, ByVal lLeft As Long, ByVal lWidth As Long, ByVal lHeight As Long, ByVal sName As String, ByVal iFontSize As Single) As clsControl
On Local Error GoTo 0
Dim objNewMember As clsControl
Set objNewMember = New clsControl
With objNewMember
.Top = lTop
.Left = lLeft
.Height = lHeight
.Width = lWidth
.Tag = mCol.Count + 1
.Name = sName
.Fontsize = iFontSize
End With
mCol.Add objNewMember, sName
Set Add = objNewMember
Set objNewMember = Nothing
End Function
Public Function AddLine(ByVal lX1 As Long, ByVal lX2 As Long, ByVal lY1 As Long, ByVal lY2 As Long, sName As String) As clsControl
On Local Error GoTo 0
Dim objNewMember As clsControl
Set objNewMember = New clsControl
With objNewMember
.X1 = lX1
.X2 = lX2
.Y1 = lY1
.Y2 = lY2
.ResizeOption = 0
.Tag = mCol.Count + 1
.Name = sName
End With
mCol.Add objNewMember, sName
Set AddLine = objNewMember
Set objNewMember = Nothing
End Function
Public Property Get Item(ByVal ItemName As String) As clsControl
On Error Resume Next
Set Item = mCol(ItemName)
On Error GoTo 0
End Property
Public Property Get Count() As Long
Count = mCol.Count
End Property
Private Sub Class\_Initialize()
Set mCol = New Collection
End Sub
Private Sub Class\_Terminate()
Set mCol = Nothing
End Sub
'Klasse ClsResize
Option Explicit
Private oControls As col\_Controls
Private oForm\_First As clsForm
Private oForm\_Now As Form
Private mvar\_ScaleMinMax As Single
Private Sub Class\_Initialize()
Set oControls = New col\_Controls
Set oForm\_First = New clsForm
End Sub
Private Sub Class\_Terminate()
Set oControls = Nothing
Set oForm\_First = Nothing
Set oForm\_Now = Nothing
End Sub
Public Property Let oform(ByRef vData As Variant)
Set oForm\_Now = vData
End Property
Public Sub Initialize()
Dim oControl As Control
Dim mCol\_SSTAB As Collection
Dim sControlName As String
Dim iFontSize As Single
Dim lTag As Long
With oForm\_First
.Height = oForm\_Now.Height
.Width = oForm\_Now.Width
.Top = oForm\_Now.Top
.Left = oForm\_Now.Left
End With
Set mCol\_SSTAB = New Collection
For Each oControl In oForm\_Now.Controls
On Error Resume Next
If oControl.Left 1 + ScaleMinMax / 100 Or sngFaktor\_Height 1 + ScaleMinMax / 100 Then
For Each oControl In oForm\_Now.Controls
If oControl.Left
So, ich hoffe nun ist es ein wenig verstaendlicher und jemand weiss wie ich mein Vorhaben realsieren kann.
MfG Alex
> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>