vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Set parents wieder rückgängig?? 
Autor: BudgetBasic
Datum: 06.04.04 15:38

Hallo zusammen!
Um ein zusätzliches Formular Countdown über allen Applikation anzuzeigen, verschiebe ich das Formular mit Setparents-funktion in ein anderes Fenster und zeige es mit der show methode danach wieder an... das Hauptprogramm verschwindet danach und es erscheint das Countdownfenster...wie kann ich dies mit dem Programmaufruf Vatersetzungretour wieder rückgängig machen; dass das Hauptprogramm wieder als Vater erscheint??

gruss


'Deklarationen
Private Declare Function GetWindowLong Lib "user32" _
 Alias "GetWindowLongA" (ByVal hWnd As Long, _
 ByVal nIndex As Long) As Long
Private Declare Function SetParent Lib "user32" _
 (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
 Alias "SetWindowLongA" (ByVal hWnd As Long, _
 ByVal nIndex As Long, ByVal dwNewLong As Any) As Long
Private Const GWL_USERDATA = (-21)
 
'Programmaufruf:
 
Private Sub Vatersetzung()
   Dim lRet As Long
   lRet = K1_functions.SetParentEx(Hauptformular.hWnd, Countdown.hWnd)
  Countdown.Show vbModeless
End Sub
 
Private Sub Vatersetzungretour()
  Dim lRet As Long
  lRet = K1_functions.SetParentEx(Hauptformular.hWnd, Countdown.hWnd)
 
End Sub
 
''Funktionen Setzen und wieder löschen
 
Public Function SetParentEx(ByVal ChildWnd As Long, _
  ByVal NewParentWnd As Long) As Long
 
  Dim nOldParentWnd As Long
  Dim nUserData As Long
 
  nOldParentWnd = SetParent(ChildWnd, NewParentWnd)
  nUserData = GetWindowLong(ChildWnd, GWL_USERDATA)
  If nUserData = 0 Then
     SetWindowLong ChildWnd, GWL_USERDATA, nOldParentWnd
  Else
     SetParentEx = nOldParentWnd
  End If
End Function
 
Public Function ResetParent(ByVal ChildWnd As Long, _
 Optional ByVal OldParentWnd As Long) As Boolean
 
  Dim nOldParentWnd As Long
 
  If OldParentWnd > 0 Then
    nOldParentWnd = OldParentWnd
  Else
    nOldParentWnd = GetWindowLong(ChildWnd, GWL_USERDATA)
    SetWindowLong ChildWnd, GWL_USERDATA, 0&
  End If
  If nOldParentWnd Then
    SetParent ChildWnd, nOldParentWnd
  Else
    ResetParent = True
  End If
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Set parents wieder rückgängig??1.588BudgetBasic06.04.04 15:38

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel