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

Visual-Basic Einsteiger
Re: Fenster maximiert 
Autor: ModeratorDieter (Moderator)
Datum: 13.03.03 10:21

Hallo Hans Joachim,

das ganze lässt sich über die GetWindowPlacement-API abfragen.

Folgenden Code bitte zunächst in ein Modul einfügen:
Option Explicit
 
Private Declare Function GetWindowPlacement Lib "user32" ( _
  ByVal hWnd As Long, _
  lpwndpl As WINDOWPLACEMENT) As Long
 
Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type
 
Private Type POINTAPI
  X As Long
  Y 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
 
Public Enum SW_CMD
  SW_HIDE = 0
  SW_SHOWNORMAL = 1
  SW_SHOWMINIMIZED = 2
  SW_SHOWMAXIMIZED = 3
  SW_SHOWNOACTIVATE = 4
  SW_SHOW = 5
  SW_MINIMIZE = 6
  SW_SHOWMINNOACTIVE = 7
  SW_SHOWNA = 8
  SW_RESTORE = 9
End Enum
 
Public Function GetWindowState(ByVal hWnd As Long) As SW_CMD
  Dim W As WINDOWPLACEMENT
 
  If GetWindowPlacement(hWnd, W) = 0 Then
    ' Fehler! Evtl. wurde kein Window mit dem 
    ' angegebenen Handle gefunden
    GetWindowState = -1
  Else
    ' Fensterstatus zurückgeben
    GetWindowState = W.showCmd
  End If
End Function
Zum Testen jetzt einfach einmal einen CommandButton auf die Form setzen und folgenden Code "hinterlegen":
Private Sub Command1_Click()
  Dim nState As SW_CMD
 
  nState = GetWindowState(Me.hWnd)
 
  Select Case nState
    Case SW_CMD.SW_HIDE
      MsgBox "Fenster ist hidden"
    Case SW_CMD.SW_SHOWMAXIMIZED
      MsgBox "Fenster ist maximiert"
    Case SW_CMD.SW_SHOWMINIMIZED
      MsgBox "Fenster is minimiert"
    Case SW_CMD.SW_SHOWNORMAL
      MsgBox "Fenster wird normal angezeigt"
  End Select
End Sub
Jetzt das Proggi starten und auf den Button klicken. Danach mal die Form maximieren und wieder auf den Button klicken.

Das ganze lässt sich jetzt auf jedes Window anwenden. Um nun den Status eines externen Windows abzufragen, musst das Windowhandle bekannt sein. Dieses kann ggf. über die FindWindow-API ermittelt werden.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fenster maximiert354Hans Joa.13.03.03 09:46
Re: Fenster maximiert223ModeratorDieter13.03.03 10:21

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