PDA

Vollständige Version anzeigen : Einstellung Grösse Access Fenster


Jan
05.10.2000, 11:00
Hallo !
gibt es einen VB- Befehl der die grösse des gesamten Accessanwendungsfensters festlegt.bin bisher
nirgends fündig geworden.wäre dankbar wenn das jemand wüsste.
Ciao
Jan

Günther Kramer
05.10.2000, 11:35
Hallo Jan,

was willt Du denn damit machen?

Jan
05.10.2000, 12:36
ich habe ein access tool erstellt um verschiedene datenbanken von einem Formular aus zu starten. das form. wird beim start angezeigt. jetzt will ich das access fenster der grösse des formulars anpassen.

Günther Kramer
05.10.2000, 12:47
Hallo Jan,

Dein vorhaben ist nur mit API-Funktionen zu realisieren. Links zu API-Seiten findest Du unter http://www.access-paradies.de -> Links

Jan
05.10.2000, 13:38
Hallo nochmal,
hat jemand die API Funktion parat ?
ich finde alles nur nicht ddas was ich brauche....

MarkusR
06.10.2000, 08:38
Frag mich aber nicht, wo ich das geklaut hab, war glaub ich ein VB Beispiel das ich angepasst hab, der Code ist auch nicht richtig ausgemistet:

Option Compare Database
Option Explicit

Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function GetWindowPlacement 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

Private Const SW_NORMAL = 1
Private Const TwipsPerPixelX As Integer = 15
Private Const TwipsPerPixelY As Integer = 15

Public Function moveAccessWindow(sizeX As Long, sizeY As Long, alignCenter As Boolean)
Dim wplc As WINDOWPLACEMENT
Dim dplc As WINDOWPLACEMENT
Dim minPos As POINTAPI
Dim maxpos As POINTAPI
Dim normPos As RECT
Dim apiReturn As Long
Dim x1 As Long
Dim y1 As Long
Dim x2 As Long
Dim y2 As Long
RunCommand acCmdAppRestore

apiReturn = GetWindowPlacement(GetDesktopWindow(), dplc)
apiReturn = GetWindowPlacement(application.hWndAccessApp, wplc)

wplc.flags = SW_NORMAL
If alignCenter Then
x1 = (dplc.rcNormalPosition.Right - sizeX) \ 2
y1 = (dplc.rcNormalPosition.Bottom - sizeY) \ 2
Else
x1 = 0 'wplc.rcNormalPosition.Left
y1 = 0 'wplc.rcNormalPosition.Top
End If
x2 = x1 + sizeX '* TwipsPerPixelX
y2 = y1 + sizeY '* TwipsPerPixelY
wplc.rcNormalPosition.Top = y1
wplc.rcNormalPosition.Left = x1
wplc.rcNormalPosition.Right = x2
wplc.rcNormalPosition.Bottom = y2
apiReturn = SetWindowPlacement(application.hWndAccessApp, wplc)

End Function

Jan
09.10.2000, 12:58
super !! das klappt