Hauptmenü
MS-Access
Access-Fenster auf verschiedene Auflösungen skalieren:
Verwendung:
MS-Access
Beschreibung:
Bei der Entwicklung von Datenbanken ist darauf zu achten, daß die Datenbank auf Systemen mit unterschiedlichen Auflösungen zum Einsatz kommt. Es ist also sicherzustellen, daß alle Formulare, Berichte, Menüs und Symbolleisten auch bei niedrigeren Auflösungen (z. B. 800*600 oder 640*480) komplett angezeigt werden. Um das zu prüfen, muß das Access-Fenster auf die in Frage kommenden Auflösungen eingestellt werden. Anschließend ist dann zu prüfen, ob Menüs und Symbolleisten passen und ob in Formularen Steuerelemente wie Textfelder nicht etwa am rechten Rand abgeschnitten werden.
Lösung:
Die Lösung liegt in der API-Funktion "MoveWindow()". Sie wird normalerweise dazu benutzt, ein Fenster an eine bestimmte Position zu setzen. Sie nimmt aber auch Parameter entgegen, über die sich die Breite und Höhe des Fensters bestimmen läßt. Mit folgendem Code läßt sich eine entsprechende Funktion in die Access-Anwendung implementieren.
In einem neuen Modul (Namen "mod_ScaleAccWin") fügst Du den folgenden Code ein.
Private Declare Function MoveWindow Lib "user32" _ |
Anschließend legst Du ein neues Formular an (Namen "Access-Fensterauflösung ändern) und platzierst in diesem so viele Schaltflächen wie Du unterschiedliche Auflösungen einbauen möchtest. Benenne und beschrifte die Schaltflächen entsprechend.
In den Ereignisprozeduren "Beim Klicken" jeder Schaltfläche trägst Du "ScaleAccWin <x-Wert>, >y-Wert>" ein (siehe Beispiel unten).
Private Sub cmd1280x1024_Click() |
Die Anweisung sorgt dafür, daß das über "Application.hWndAccessApp"
adressierte Access-Fenster zunächst an die Position "0,0"
ganze oben links verschoben und dann dessen Breite und Höhe
auf die gemäß Parameter "intX" und "intY" übergebenen Werte
gesetzt wird. Der fünfte Parameter "1" sorgt für eine
sofortige Aktualisierung des Fensterinhaltes.
Zu beachten ist, daß die API-Funktion "MoveWindow()" die
Position, Breite und Höhe eines Fensters nicht über das hinaus
setzen kann, was das System technisch unterstützt. So wird
beispielsweise die Taskleiste beim Setzen der Höhe (oder der
Breite, wenn vertikal angeordnet) automatisch berücksichtigt
und die Einstellung einer Auflösung größer als die aktuelle
Desktop-Auflösung unterbunden. Letzteres ist aber nicht weiter
dramatisch, da es ja in erster Linie darum geht, den Einsatz
auf Systemen mit geringerer Auflösung zu prüfen.