Rubrik: Fenster | 22.03.05 |
SetWindowLong-Funktion Diese Funktion setzt bestimmte Eigenschaften eines Fensters wie z.B. die Fensterstile, die Standardprozedur oder das Handle des Elternfensters. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 25.387 |
Deklaration:
Declare Function SetWindowLong Lib "user32.dll" _ Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Beschreibung:
Diese Funktion setzt bestimmte Eigenschaften eines Fensters wie z.B. die Fensterstile, die Standardprozedur oderdas Handle des Elternfensters.
Parameter:
hWnd | Erwartet das Handle des Fensters, dessen Eigenschaften gesetzt werden sollen. |
nIndex | Erwartet eine der "nIndex"-Konstantendie beschreibt, welche Eigenschaften des Fensters geändert werden sollen. |
dwNewLong | Erwartet eine Long-Variable, die mit dem neuemWert der Eigenschaft gefüllt ist, die das Fenster erhalten soll. |
nIndex Konstanten:
Const GWL_EXSTYLE = -20 ' Ermittelt die erweiterten Fensterstyles Const GWL_HINSTANCE = -6 ' Ermittelt das Instanzhandle der Anwendung Const GWL_HWNDPARENT = -8 ' Ermittelt das Fensterhandle der Elternfensters Const GWL_ID = -12 ' Ermittelt den Fenster ID Const GWL_STYLE = -16 ' Ermittelt die Standard Fensterstyles Const GWL_USERDATA = -21 ' Ermittelt einen 32-Bit Anwendungswert des Fensters Const GWL_WNDPROC = -4 ' Ermittelt die Adresse der Standard-Fensterprozedur Const DWL_DLGPROC = 4 ' Ermittelt die Adresse der Standard-Dialogprozedur Const DWL_MSGRESULT = 0 ' Ermittelt das Ergebnis des letzten Ergebnisses einer Fensternachricht Const DWL_USER = 8 ' Ermittelt einen 32-Bit Anwendungswert des Dialogs
Rückgabewert:
Ist die Funktion erfolgreich, so ist die Rückgabe der vorherige Wert der Eigenschaft. Andernfalls gibt die Funktion denWert "0" Zurück. Für erweiterte Fehlerinformationen können Sie die GetLastError-Funktionaufrufen.
Beispiel:
Private Declare Function SetWindowLong Lib "user32.dll" _ Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long) As Long ' SetWindowLong nIndex-Konstanten Private Const GWL_EXSTYLE = -20 ' Ermittelt die erweiterten Fensterstyles Private Const GWL_HINSTANCE = -6 ' Ermittelt das Instanzhandle der Anwendung Private Const GWL_HWNDPARENT = -8 ' Ermittelt das Fensterhandle des Elternfensters Private Const GWL_ID = -12 ' Ermittelt die Fenster ID Private Const GWL_STYLE = -16 ' Ermittelt die StandardFensterstyles Private Const GWL_USERDATA = -21 ' Ermittelt einen 32-Bit Anwendungswert des Fensters Private Const GWL_WNDPROC = -4 ' Ermittelt die Adresse der Standard-Fensterprozedur Private Const DWL_DLGPROC = 4 ' Ermittelt die Adresse der Standard-Dialogprozedur Private Const DWL_MSGRESULT = 0 ' Ermittelt das Ergebnis des letzten ' Ergebnisses einer Fensternachricht Private Const DWL_USER = 8 ' Ermittelt einen 32-Bit Anwendungswert des Dialogs ' einige Standard-Fensterstile Private Const WS_MAXIMIZEBOX = &H10000 ' Maximierenbutten des Fensters Private Const WS_MINIMIZEBOX = &H20000 ' Minimierenbutton des Fensters
' Minimieren und maximieren aus der Titelleiste entfernen Private Sub Form_Load() Dim TmpStyles As Long ' Aktuelle Fensterstile bekommen TmpStyles = GetWindowLong(Me.hwnd, GWL_STYLE) ' Fensterstile Minimieren- und Maximierenbutton entfernen TmpStyles = TmpStyles Xor WS_MAXIMIZEBOX Xor WS_MINIMIZEBOX ' Neue Fensterstile setzen Call SetWindowLong(Me.hwnd, GWL_STYLE, TmpStyles) End Sub