Wie Sie mit der SetParent API-Funktion zum Beispiel eine eigene MDI-Umgebung umsetzen könnten demonstriert dieses Beispiel, bei dem eine Form in eine fremde TextBox "eingesperrt" wird. Damit die Form dort nicht für immer verweilen muss können Sie sie natürlich auch wieder "freilassen", ebenfalls mit Hilfe der SetParent-Funktion.
Quellcode
Form1
Form Form1
' VISUAL BASIC WORLD' ===========================================' Das große Portal zum Thema Visual Basic.'' Wenn Ihnen dieser Source Code gefallen hat,' dann empfehlen Sie Visual Basic World bitte' weiter und/oder setzen Sie einen Link auf:'' http://www.visualbasicworld.de/'' Vernetzen Sie sich mit uns:'' http://twitter.com/visualbasicwrld'' Autor: Benjamin Wilger OptionExplicitPrivateSub Form_Paint()
Form2.Show
Form2.Left = Form1.Left - Form2.Width
Form2.Top = Form1.Top
EndSub
Form2
Form Form2
CommandButton Command1
CommandButton Command2
' VISUAL BASIC WORLD' ===========================================' Das große Portal zum Thema Visual Basic.'' Wenn Ihnen dieser Source Code gefallen hat,' dann empfehlen Sie Visual Basic World bitte' weiter und/oder setzen Sie einen Link auf:'' http://www.visualbasicworld.de/'' Vernetzen Sie sich mit uns:'' http://twitter.com/visualbasicwrld'' Autor: Benjamin Wilger OptionExplicitPrivateDeclareFunction SetParent Lib "user32" _
(ByVal hWndChild AsLong, _
ByVal hWndNewParent AsLong) AsLongPrivateSub Command1_Click()
Me.Move 0, 0
SetParent Form2.hWnd, Form1.Text1.hWnd
Command1.Enabled = False
Command2.Enabled = TrueEndSubPrivateSub Command2_Click()
Me.Move Screen.Width / 2 - Me.Width / 2, _
Screen.Height / 2 - Me.Height / 2
SetParent Form2.hWnd, 0&
Command1.Enabled = True
Command2.Enabled = FalseEndSubPrivateSub Form_Unload(Cancel AsInteger)
EndEndSub