vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Fenster22.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, WinMEViews:  20.265 

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:
hWndErwartet das Handle des Fensters, dessen Eigenschaften gesetzt werden sollen.
nIndexErwartet eine der "nIndex"-Konstantendie beschreibt, welche Eigenschaften des Fensters geändert werden sollen.
dwNewLongErwartet 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

Diese Seite wurde bereits 20.265 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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