vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Fortgeschrittene Programmierung
Re: Form modal zu einem fremden Fenster anzeigen 
Autor: GuidoE
Datum: 20.03.04 04:10

Hallo Ralf

Ich hab dir kurzerhand eine "Modal-Funktion" gegen fremde Fenster geschrieben.


Zum Testen brauchst du 2 Command-Buttons und den MS-Editor "NotePad" (oder ein beliebiges anderes Programm).

Option Explicit
 
' ===================================================================
'   Fremde Fenster disablen (GES)
'
'
' Autor:
' Gudio Eisenbeis Software (GES), guidoeisenbeis@web.de, 2004-03-19
' ===================================================================
 
 
Private Declare Function FindWindow Lib "user32" _
    Alias "FindWindowA" (ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
 
Private Declare Function GetWindowLong Lib "user32" _
    Alias "GetWindowLongA" (ByVal hWnd _
    As Long, ByVal nIndex As Long) As Long
 
Private Declare Function SetWindowLong Lib "user32" _
    Alias "SetWindowLongA" (ByVal hWnd As Long, _
    ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 
Private Const GWL_STYLE = (-16)
Private Const WS_DISABLED = &H8000000
 
 
Private Sub Command1_Click()
 
    Dim WinWnd As Long
    Dim oldStyle As Long
 
    'FensteHandle ermitteln (Fenster-Titel muss exakt stimmen!)
    WinWnd = FindWindow(vbNullString, "Unbenannt - Editor") 'NotePad
 
    'den gegewärtigen Fensterstil ermitten
    oldStyle = GetWindowLong(WinWnd, GWL_STYLE)
 
    'den neuen Fensterstil setzen: Disabled (fremdes Fenster sperren)
    Call SetWindowLong(WinWnd, GWL_STYLE, oldStyle Or WS_DISABLED)
 
End Sub
 
Private Sub Command2_Click()
 
    Dim WinWnd As Long
    Dim oldStyle As Long
 
    'FensteHandle ermitteln (Fenster-Titel muss exakt stimmen!)
    WinWnd = FindWindow(vbNullString, "Unbenannt - Editor") 'NotePad
 
    'den gegewärtigen Fensterstil ermitten
    oldStyle = GetWindowLong(WinWnd, GWL_STYLE)
 
    'den neuen Fensterstil setzen: Enabled (Fenster wieder freigeben)
    Call SetWindowLong(WinWnd, GWL_STYLE, oldStyle And (Not WS_DISABLED))
 
End Sub
Besonders cool kommt das, wenn du zudem dein Fenster "On Top" setzt!



Gruss, Guido.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Form modal zu einem fremden Fenster anzeigen3.201RalfH19.03.04 23:11
Re: Form modal zu einem fremden Fenster anzeigen2.759GuidoE20.03.04 04:10
Re: Form modal zu einem fremden Fenster anzeigen4.836RalfH20.03.04 17:46
Re: Form modal zu einem fremden Fenster anzeigen2.804GuidoE20.03.04 20:29
Re: Form modal zu einem fremden Fenster anzeigen2.540RalfH22.03.04 14:07
Re: Form modal zu einem fremden Fenster anzeigen3.153GuidoE22.03.04 19:18

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