vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Fenster22.03.05
GetWindowPlacement-Funktion

Diese Funktion ermittelt die Standard Positionen eines Fensters und wie ein Fenster im Moment des Aufrufs angezeigt wird.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  13.244 

Deklaration:

Declare Function SetWindowPlacement Lib "user32" ( _
  ByVal hwnd As Long, _
   lpwndpl As WINDOWPLACEMENT) As Long

Beschreibung:
Diese Funktion ermittelt die Standard Positionen eines Fensters und wie ein Fenster im Moment des Aufrufs angezeigt wird.

Parameter:
hwndErwartet das Fensterhandle des Fensters, dessen Informationen ermittelt werden sollen.
lpwndplErwartet eine WINDOWPLACEMENT-Struktur, die mit den zu ermittelnden Informationen gefüllt wird.

Rückgabewert:
Ist die Funktion erfolgreich, so wird ein Wert "ungleich 0" zurückgegeben, andernfalls der Wert "0". Für erweiterte Fehlerinformationen können Sie die GetLastError-Funktion aufrufen.

Beispiel:

Private Declare Function GetWindowPlacement Lib "user32" ( _
  ByVal hwnd As Long, _
  lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" ( _
  ByVal hwnd As Long, _
  lpwndpl As WINDOWPLACEMENT) As Long
 
Private Type POINTAPI
  x As Long
  y As Long
End Type
 
Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type
 
Private Type WINDOWPLACEMENT
  Length As Long
  flags As Long
  showCmd As Long
  ptMinPosition As POINTAPI
  ptMaxPosition As POINTAPI
  rcNormalPosition As RECT
End Type
 
' WINDOWPLACEMENT flags-Konstanten
Private Const WPF_ASYNCWINDOWPLACEMENT = &H4 ' (Windows 2000,XP) Benutzt einen anderen  
' Thread falls der Thread, der das Fenster besitzt, blockiert ist 
Private Const WPF_RESTORETOMAXIMIZED = &H2 ' (In Verbindung mit  SW_SHOWMINIMIZED) 
' Legt fest, dass das Fenster maximiert wird, wenn es wiederhergestellt  
' wird, ungeachtet der vorangegangenen Fensterposition 
Private Const WPF_SETMINPOSITION = &H1 ' Legt fest, dass die ptMinPosition-Werte  
' der Struktur übergeben werden sollen
 
' WINDOWPLACEMENT showCmd-Konstanten
Private Const SW_HIDE = 0 ' Das Fenster wird / ist versteckt
Private Const SW_MAXIMIZE = 3 ' Das Fenster wird / ist maximiert
Private Const SW_MINIMIZE = 6 ' Das Fenster wird / ist minimiert
Private Const SW_RESTORE = 9 ' Das Fenster wird / ist wiederhergestellt
Private Const SW_SHOW = 5 ' Das Fenster wird / ist angezeigt
Private Const SW_SHOWMAXIMIZED = 3 ' Das Fenster wird maximiert angezeigt und aktiviert
Private Const SW_SHOWMINIMIZED = 2 ' Das Fenster wird minimiert angezeigt und aktiviert 
Private Const SW_SHOWMINNOACTIVE = 7 ' Das Fenster wird minimiert angezeigt und nicht aktiviert
Private Const SW_SHOWNA = 8 ' Zeigt das Fenster an, aktiviert es aber nicht
Private Const SW_SHOWNOACTIVATE = 4 ' Zeigt das Fenster in der bestmöglichen  
' Größe und Position an, aktiviert es aber nicht
Private Const SW_SHOWNORMAL = 1 ' Zeigt das Fenster in der bestmöglichen  
' Größe und Position an und aktiviert es
' Ermitteln der Standardwerte des Fensters
Private Sub Form_Load()
  Dim WPlace As WINDOWPLACEMENT, Retval As Long
 
  ' Struktur mit den Standardeigenschaften füllen
  WPlace.Length = Len(WPlace)
  Retval = GetWindowPlacement(Me.hwnd, WPlace)
 
  ' Struktur mit unseren Eigenschaften abändern
  With WPlace
    .showCmd = SW_SHOWNORMAL
    With .rcNormalPosition
      .Left = ((Screen.Width - Me.Width) / Screen.TwipsPerPixelX)  _
      / 2
      .Top = ((Screen.Height - Me.Height) / Screen.TwipsPerPixelY)  _
      / 2
      .Right = .Left + Me.Width / Screen.TwipsPerPixelX
      .Bottom = .Top + Me.Height / Screen.TwipsPerPixelY
    End With
  End With
 
  ' Fenster mit den neuen Werten auf dem Bildschirm zentrieren
  Retval = SetWindowPlacement(Me.hwnd, WPlace)
End Sub

Diese Seite wurde bereits 13.244 mal aufgerufen.

nach obenzurück
 
   

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