Ich Poste jetzt mal den Code, vielleicht ist es dann einfacher für euch:
Parent -Form:
Option Explicit
'war standartmässig drin
Private Sub MDIForm_Load()
Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
LoadNewDoc
End Sub
'war standartmässig drin
Private Sub LoadNewDoc()
End Sub
'auch standrtmässig
Private Sub MDIForm_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then
SaveSetting App.Title, "Settings", "MainLeft", Me.Left
SaveSetting App.Title, "Settings", "MainTop", Me.Top
SaveSetting App.Title, "Settings", "MainWidth", Me.Width
SaveSetting App.Title, "Settings", "MainHeight", Me.Height
End If
End Sub
'Child-Form an/aus über Tool-Bar
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComCtlLib.Button)
On Error Resume Next
Select Case Button.Key
Case "Redo"
Static lDocumentCount As Long
Dim frmD As frmDocument
lDocumentCount = lDocumentCount + 1
Set frmD = New frmDocument
frmD.Caption = "Document " & lDocumentCount
frmD.Show
Case "Undo"
MDIUnloadChildren
'Mithife der Funktion MDIUnloadChildren
End Select
End Sub
'Child-Form aus über das Menü "Form" mithilfe Der Funktion MDIUnloadChildren
Private Sub mnuFormAus_Click()
MDIUnloadChildren
End Sub
'Child-Form an über das Menü "Form"
Private Sub mnuFormAn_Click()
Static lDocumentCount As Long
Dim frmD As frmDocument
lDocumentCount = lDocumentCount + 1
Set frmD = New frmDocument
frmD.Caption = "Document " & lDocumentCount
frmD.Show
End Sub
'Funktion zum Unloaden der Cild Form (MDIUnloadChildren)
Public Sub MDIUnloadChildren(Optional MDIForm As MDIForm)
Dim nMDIForm As MDIForm
Dim nForm As Form
If MDIForm Is Nothing Then
For Each nForm In Forms
If TypeOf nForm Is MDIForm Then
Set nMDIForm = nForm
Exit For
End If
Next
Else
Set nMDIForm = MDIForm
End If
If Not (nMDIForm Is Nothing) Then
With nMDIForm
Do While Not (.ActiveForm Is Nothing)
Unload .ActiveForm
Loop
End With
End If
End Sub Child-Form:
Option Explicit
Private Sub Form_Load()
Form_Resize
'jetzt kommt der Programmteil der mir Sorgen Macht
'es Funktioniert einfach nicht!!
'es wird immer "MDIForm" Markiert und dann kommt:
'Variable not defined.
Me.Move MDIForm.ScaleWidth - Me.Width, 0
End Sub
Private Sub Form_Resize()
On Error Resume Next
rtfText.Move 100, 100, Me.ScaleWidth - 200, Me.ScaleHeight - 200
rtfText.RightMargin = rtfText.Width - 400
End Sub Und dann war da noch ein Modul bei:
Public fMainForm As frmMain
Sub Main()
Set fMainForm = New frmMain
fMainForm.Show
End Sub Ich hab die Forms und alles mit dem VB Application Wizard gemacht, mit nem Menü wo ich die Child-Form an und aus schalten kann und mit nem Redo-Button zum anschalten und nem Undo-Button zum ausschalten.
alles in VB6
Danke, dass ihr euch soviel Zeit nehmt!!
Victor |