title image


Smiley Re: Bildschirmauflösung
Klar geht´s.Mit einer Hand voll API Funktionen, kann man das Access -Fenster beliebig anpassen.Folgende Funktion stetzt das Access-Fenster auf die angegebene Breite und Höhe, entfernt die Maximieren Schaltfläche, entfernt den veränderbaren Rahmen und zentriert das Fenster auf dem Bildschirm.Diese Funktion benötigt die Funktion Auflösung() aus dem Archiv, die die aktuelle Bildschrimauflösung ermittelt.'benötigte API - DeklarationenPrivate Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal X As Long, ByVal Y As Long, _ ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) As Long Private Function MoveWindow Lib "user32.dll" _ (ByVal hwnd As Long, ByVal X As Long, _ ByVal Y As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, ByVal bRepaint As Long) As LongPrivate Const SWP_DRAWFRAME As Long = &H20Private Const SWP_NOMOVE As Long = &H2Private Const SWP_NOSIZE As Long = &H1Private Const SWP_NOZORDER As Long = &H4Private Const SWP_FLAGS As Long = SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAMEPrivate Const GWL_STYLE As Long = (-16)Private Const WS_MAXIMIZEBOX = &H10000Private Const WS_THICKFRAME = &H40000Public Function SetAppWindowSize(ByVal nBreite As Long, ByVal nHöhe As Long)Dim style As Long'aktuellen Fensterstyle ermittelnstyle = GetWindowLong(Application.hWndAccessApp, GWL_STYLE)'Maximieren-Schaltfläche ausschaltenstyle = style Xor WS_THICKFRAME'und auch den veränderbaren Rahmen verschwinden lassen'(wir wollen ja nicht, daß jemand unsere gerade angepasste' Fenstergröße verunschandelt...)style = style Xor WS_MAXIMIZEBOX'neue Fenstereigenschaften setzen und neu zeichnen If style Then Call SetWindowLong(Application.hWndAccessApp, GWL_STYLE, style) Call SetWindowPos(Application.hWndAccessApp, 0, 0, 0, 0, 0, SWP_FLAGS) End If 'Fensterbreite und Fensterhöhe anpassen (z.B. 800x600) und zentrieren'hier wird ebenfalls die Funktion AUFLÖSUNG() benötigt (Spotlight -Archiv)Call MoveWindow(Application.hWndAccessApp, (Auflösung.X - nBreite) / 2, (Auflösung.Y - nHöhe) / 2, nBreite, nHöhe, 1)End FunctionSo wird´s gemacht:Obigen Code (zusammen mit der Funktion Auflösung() )in ein Modul kopieren.Dann überprüfst du mit der Funktion aus dem Archiv die aktuélle Bildschirmauflösung und rufst die Funktion SetAppWindowSize mit der gewünschten Breite und Höhe auf: Call SetAppWindowSize(800,600)stellt z.B. die Fenstergröße auf 800x600 PixelNoch ein Tipp: erneutes Aufrufen, aktiviert den MaxButton und den veränderbaren Rahmen wieder.Hoffe es klappt...GrußAndre

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: