VB 5/6-Tipp 0336: Container auf ein anderes Formular setzen
von Björn Kirsch
Beschreibung
In diesem Beispiel wird gezeigt, wie Frames anderer Forms auf ein Hauptform umgesetzt werden können. Diese Methode findet, unter Verzicht auf MDI, Anwendung bei unterschiedlicher Masken in ein und dem selben Fenster. Somit kann jede Maske, zwecks Übersichtlichkeit, auf einem eigenem Form gestaltet und gehandelt werden, da die Events nach wie vor beim ursprünglichen Träger verbleiben.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Bildfeld-Steuerelement "Picture1" ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Schaltfläche "Command3" ' Steuerelement: Schaltfläche "Command2" Option Explicit Private Declare Function SetParent Lib "user32" (ByVal _ hWndChild As Long, ByVal hWndNewParent As Long) _ As Long Private Sub Command1_Click() Call SetParent(Form2.Frame1.hWnd, Picture1.hWnd) End Sub Private Sub Command2_Click() Call SetParent(Form3.Frame1.hWnd, Picture1.hWnd) End Sub Private Sub Command3_Click() Call SetParent(Form4.Frame1.hWnd, Picture1.hWnd) End Sub Private Sub Form_Unload(Cancel As Integer) Unload Form2 Unload Form3 Unload Form4 End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '--------- Anfang Formular "Form2" alias Form2.frm --------- ' Steuerelement: Rahmensteuerelement "Frame1" ' Steuerelement: Schaltfläche "Command1" auf Frame1 Private Sub Command1_Click() MsgBox "Form2" End Sub '---------- Ende Formular "Form2" alias Form2.frm ---------- '--------- Anfang Formular "Form3" alias Form3.frm --------- ' Steuerelement: Rahmensteuerelement "Frame1" ' Steuerelement: Schaltfläche "Command1" auf Frame1 Private Sub Command1_Click() MsgBox "Form3" End Sub '---------- Ende Formular "Form3" alias Form3.frm ---------- '--------- Anfang Formular "Form4" alias Form4.frm --------- ' Steuerelement: Rahmensteuerelement "Frame1" ' Steuerelement: Schaltfläche "Command1" auf Frame1 Private Sub Command1_Click() MsgBox "Form4" End Sub '---------- Ende Formular "Form4" alias Form4.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 6 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Andreas am 01.08.2007 um 11:25
Hallo
Der Tipp ist super. Nur wie funktioniert das unter vb.net? Einzelne Steuerelemente auf diese Weise zu "importieren" geht relativ einfach, nur kann man auf diese weise nicht das gesamte formular laden und auch deren inhalt.
Also ich möchte gerne ein mdi formular haben. auf der linken seite soll die navigation stattfinden und auf der rechten seite sollen die entsprechenden form´s aufgerufen werden. eben wie man eine form in ein mdi formular lädt, nur kann man das mdi formular leider nicht teilen! oder geht das doch? und wenn ja wie?!
für eure hilfe danke ich euch schon jetzt.
gruß andy
Kommentar von Andreas Lehmann am 31.07.2007 um 16:19
Hallo.
Super Tipp mit dem Container auf ein anderes Formular setzen. Funktioniert das auch unter VB.Net und wenn ja wie, weil ich bin neuling in vb.net...
MfG
Andreas
Kommentar von tokio am 08.03.2007 um 19:12
find kinen trost
Kommentar von Timo am 21.09.2006 um 21:21
Super Tipp. Geht neu in .NET auch als Option bei jedem Objekt.
Kommentar von Andre am 01.12.2005 um 17:09
Hallo
Wie kann man die PictureBox mit dem Bild speichern??
Mit der Funktion SavePicture funzt es nicht! Die Datei enthält nur die "leer" PictureBox.
Gruß
André
Kommentar von Cedric am 14.09.2001 um 06:03
Ein einfacher Trick mit viel Nutzen!
Optimal für den Fall das jemand sich einen sog. "Wizard" für seine Anwendung schreiben möchte ...