ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 31.10.2001

Diese Seite wurde zuletzt aktualisiert am 31.10.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Frühanzeige

Zurück...


Anzeige

(-hg) mailto:hg_startupwindowstate@aboutvb.de

Der Startzustand (normal, minimiert, mit oder ohne Fokus, maximiert) des ersten angezeigten Forms einer Anwendung kann extern vorgegeben werden, etwa beim Aufruf über die Shell-Funktion, oder beim Start über eine Verknüpfung. Normalerweise wird einem Windows-Programm der Startzustand als Parameter der Main-Funktion (in C) übergeben. Doch wie so vieles verbirgt Visual Basic auch diese Information - die mögliche Main-Prozedur in einem Standard-Modul bietet keine Parameter. Sie können diesen Startzustand erst feststellen, wenn das Form auch schon angezeigt ist. Wenn Ihre Anwendung schon vorher, etwa bereits in einer Sub Main-Prozedur, auf diese externe Vorgabe reagieren soll, nützt Ihnen diese späte Erkenntnis womöglich nicht mehr viel.

Sie können die gesuchte Information allerdings noch nachträglich über eine API-Funktion in Erfahrung bringen, über GetStartUpInfo. Sie übergeben dieser Funktion eine benutzerdefinierte Variable des Typs STARTUPINFO und finden anschließend den Startzustand als Konstantwert im Element wShowWindow. Die Informationen, die in den übrigen Elementen geliefert werden, sind für eine VB-Anwendung weitestgehend ohne Bedeutung.

Da die gelieferten Konstantwerte ein wenig von den in der VB-eigenen Enumeration VbAppWinStyle definierten Werten abweichen, übersetzt Ihnen die folgende Funktion StartUpWindowState die Ergebnisse des Aufrufs in die gewohnten Konstantwerte.

Private Type STARTUPINFO
  cb As Long
  lpReserved As Long
  lpDesktop As Long
  lpTitle As Long
  dwX As Long
  dwY As Long
  dwXSize As Long
  dwYSize As Long
  dwXCountChars As Long
  dwYCountChars As Long
  dwFillAttribute As Long
  dwFlags As Long
  wShowWindow As Integer
  cbReserved2 As Integer
  lpReserved2 As Long
  hStdInput As Long
  hStdOutput As Long
  hStdError As Long
End Type

Private Declare Sub GetStartupInfo Lib "kernel32" _
 Alias "GetStartupInfoA" (lpStartupInfo As STARTUPINFO)

Public Function StartUpWindowState() As VbAppWinStyle
  Dim nInfo As STARTUPINFO
  
  Const SW_HIDE = 0
  Const SW_MAXIMIZE = 3
  Const SW_MINIMIZE = 6
  Const SW_NORMAL = 1
  Const SW_SHOW = 5
  Const SW_SHOWDEFAULT = 10
  Const SW_SHOWMAXIMIZED = 3
  Const SW_SHOWMINIMIZED = 2
  Const SW_SHOWMINNOACTIVE = 7
  Const SW_SHOWNA = 8
  Const SW_SHOWNOACTIVATE = 4
  Const SW_SHOWNORMAL = 1
  
  nInfo.cb = Len(nInfo)
  GetStartupInfo nInfo
  Select Case nInfo.wShowWindow
    Case SW_HIDE
      StartUpWindowState = vbHide
    Case SW_MAXIMIZE, SW_SHOWMAXIMIZED
      StartUpWindowState = vbMaximizedFocus
    Case SW_MINIMIZE, SW_SHOWMINIMIZED
      StartUpWindowState = vbMinimizedFocus
    Case SW_NORMAL, SW_SHOWNORMAL, SW_SHOW, SW_SHOWDEFAULT
      StartUpWindowState = vbNormalFocus
    Case SW_SHOWMINNOACTIVE
      StartUpWindowState = vbMinimizedNoFocus
    Case SW_SHOWNA, SW_SHOWNOACTIVATE
      StartUpWindowState = vbNormalNoFocus
  End Select
End Function

Modul modStartUpWindowState (modStartUpWindowState.bas - ca. 1,8 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer