Der nachfolgende Tipp zeigt, wie man aus einem beliebigen Form/Fenster zur Laufzeit ein Child-Formular machen kann, das dann direkt innerhalb des MDI-Formulars angezeigt wird. ' benötigte API-Deklarationen Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function SetParent Lib "user32" ( _ ByVal hWndChild As Long, _ ByVal hWndNewParent As Long) As Long Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function GetParent Lib "user32" _ Alias "GetParent" ( _ ByVal hwnd As Long) As Long Private Const WS_EX_MDICHILD = &H40& Private Const WS_EX_WINDOWEDGE = &H100& Private Const GWL_EXSTYLE = (-20) Private nOldStyle As Long Private nOldParent As Long ' beliebiges Fenster als Child-Form im MDI-Formular anzeigen Public Sub MakeChild(ByVal hWndChild As Long, ByVal hWndMDI As Long) ' zunächst den Original-Fensterstil und Parent merken nOldStyle = GetWindowLong(hWndChild, GWL_EXSTYLE) nOldParent = GetParent(hWndChild) ' jetzt das Fenster zum ChildForm der MDIForm machen SetParent hWndChild, hWndMDI SetWindowLong hWndChild, GWL_EXSTYLE, WS_EX_MDICHILD Or WS_EX_WINDOWEDGE End Sub Wann immer Sie die Anwendung beenden, sollten Sie das "gekidnappte" Fenster wieder seinem ursprünglichem Eltern-Fenster zurückgeben SetWindowLong hWndChild, GWL_EXSTYLE, nOldStyle SetParent hWndChild, nOldParent Dieser Tipp wurde bereits 14.368 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Neu! sevCoolbar 3.0 ![]() Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
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. |