Samstag, 4. Februar 2012

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Access- und Hilfefenster automatisch nebeneinander positionieren (Access 97)
Sobald Sie die Online-Hilfe von Access aufrufen, verdeckt diese in den meisten Fällen das Hauptfenster von Access. Wenn Sie beide Fenster gleichzeitig im Blick haben möchten, müssen Sie die Größe und Position beider Fenster anpassen. Ganz praktisch wäre eine Funktion, die beide Fenster automatisch passend positioniert. Mit der API-Funktion „SetWindowPos“ ist dies kein Problem.

Die Funktion SetWindowPos ändert die Position des angegebenen Fensters:

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

Das Parameter hwnd stellt das Handle des zu positionierenden Fensters dar.

Das folgende Beispiel ordnet das Access Hauptfenster und die Hilfe-Fenster zu den Datenzugriffsobjekten (Fenstertitel DAO-Referenz) nebeneinander an.

Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
    ByVal nCmdShow As Long) As Long

Declare Function GetSystemMetrics Lib "user32" _
    (ByVal nIndex As Long) As Long

Public Const SWP_NOZORDER = &H4
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Public Const SW_NORMAL = 1

Public Function FensterPositionieren()

Dim SchirmBreite As Long, SchirmHöhe As Long
Dim lHilfeFenster As Long

    ' Breite des gesamten Bildschirms 
    SchirmBreite = GetSystemMetrics(SM_CXSCREEN)

    ' Höhe des gesamten Bildschirms 
    SchirmHöhe = GetSystemMetrics(SM_CYSCREEN) 

    ' falls maximiert bzw. minimiert
    ShowWindow Application.hWndAccessApp, SW_NORMAL

    SetWindowPos Application.hWndAccessApp, 0, 0, 0, _
    SchirmBreite / 2, SchirmHöhe, SWP_NOZORDER

    ' Handle des Hilfe-Fensters ermitteln
    lHilfeFenster = FensterSuchen("DAO-Referenz")

    If lHilfeFenster Then

        SetWindowPos lHilfeFenster, 0, SchirmBreite / 2, _
                    0, SchirmBreite / 2, SchirmHöhe, SWP_NOZORDER

    End If

End Function

Voraussetzung für das Funktionieren der Prozedur ist, dass Sie sich die Proezedur des vorhergehenden Beispiels bereits in Ihrem Modul befindet.

Damit die Funktion unabhängig von der Bildschirmauflösung arbeitet, ermitteln sie zuerst die Auflösung mit der Funktion GetSystemMetric. Anschließend wird das Access-Fenster links oben auf dem Bildschirm positioniert. Die Größe des Fensters wird auf die gesamte Bildschirmhöhe und die Hälfte der gesamten Bildschirmbreite (SchirmBreite / 2) gesetzt. Unmittelbar neben dem Access-Fenster fängt das Hilfe-Fenster in der Mitte des Bildschirms an und reicht bis zum rechten Rand des Bildschirms.


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de