Formular an Mausposition öffnen

Verschiedene Anwendungszwecke machen es erforderlich, dass man ein Formular an einer bestimmten Position öffnet. Und selbst wenn es an sich nicht erforderlich ist, steigert es doch die Ergonomie, wenn zum Beispiel ein Popup-Formular an der Stelle erscheint, an der man den Befehl zum Öffnen betätigt hat – beispielsweise durch einen Klick auf eine Schaltfläche oder auf ein anderes Steuerelement. In diesem Beitrag schauen wir uns an, wie wir unabhängig von anderen Elementen ein Formular öffnen und an der Position des Mauszeiters positionieren können. Dazu benötigen wir nichts außer ein paar Ereignisprozeduren und API-Funktionen.

Weiterlesen

Modale Dialoge nach Wunsch gestalten

Modale Dialoge, also Formulare, die mit dem Befehl DoCmd.OpenForm mit dem Parameter WindowMode:=acDialog geöffnet wurden, sind in vielen Fällen hilfreich: Wir können den aufrufenden Code anhalten, bis das Formular geschlossen oder ausgeblendet wird und so gegebenenfalls auszulesende Werte ermitteln. Oder wir sorgen so dafür, dass der Benutzer nicht an anderen Formularen arbeiten kann, bevor er nicht die Eingabe in dieses Formular abgeschlossen hat. Einen Nachteil haben modale Dialog allerdings: Wir können ihre Rahmenart nicht so einstellen, wie wir es von normal geöffneten Formularen gewohnt sind. Wollen wir also einen modalen Dialog einmal ohne Titelleiste anzeigen, weil er zum Beispiel einfach als Erweiterung neben einem anderen Steuerelement geöffnet werden soll, können wir das so nicht machen. Es gibt allerdings einen Workaround, den wir hier vorstellen.

Weiterlesen