Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


1. Methode zum Anzeigen der EXAKTEN POSITIONIERUNG des Scroll-Buttons


IM FORMULAR


oForm = oEvent.Source

oScrollField = oForm.getByName("Bildlaufleiste")

oScrollField.ScrollValueMax = loMax

oScrollField.ScrollValue = loPos


IM DIALOG


oDialog.getControl("Bildlaufleiste").Model.ScrollValueMax = loMax

oDialog.getControl("Bildlaufleiste").Model.ScrollValue = loPos



2. Methode zum AUSLÖSEN DURCH DIE BILDLAUFLEISTE "Beim Justieren"


(a) IM FORMULAR


oScrollAction = oEvent.Source

oForm = oScrollAction.Model.Parent

loPos = oScrollAction.getValue()


(b) IM DIALOG


(aa) Object-Methode


DIM oScrolAction as OBJECT

oScrollAction = oDialog.getControl("Bildlaufleiste")

loPos = scrollAction.value


Bei der Object-Methode ist ein Durchlauf beim Verschiebebutton. Allerdings hat sich bei mir gezeigt, dass die zugrundeliegende MySQL-Datenbank (mit etlichen Abfragen) verzögert reagiert. Man darf also den Verschiebebutton nicht zu schnell bewegen. Mit Mouseklick auf die beiden Pfeiltasten der Bildlaufleiste klappt der Durchlauf wunderbar.


(bb) model-Methode


loPos = oDialog.getControl("Bildlaufleiste").Model.ScrollValue


Es wird nur der Zieldatensatz nach Beendigung der Verschiebebutton-Bewegung mit Loslassen der Mouse-Tasten angezeit. Bei den Pfeiltasten funktioniert der Durchlauf wunderbar.

Für meine Verhältnisse wende ich die model-Methode an, da die Verzögerung der MySQL-Datenbank irritierend ist. Mit dem Verschiebebutton ungefähr in den Bereich des relevanten Datensatzes klicken und dann die Feinjustierung per Pfeiltasten.


(Die Pfeiltasten scheinen nur bei Windows, unter Linux - ich benutze privat LinuxMint - nicht vorhanden zu sein!)


Ereignisse, die man mit dem Makro verknüpfen kann, muss man ausprobieren. Grundsätzlich funktionieren: "Maustaste losgelassen" und "Mausbewegung bei Tastendruck", beide mit dem selben Makro verknüpft

Auch „Beim justieren“ funktioniert, zumindest bei der model-Methode





Am 02.11.18 um 06:46 schrieb Gerhard Dittrich:


Im Handbuch LibreOffice 6.1, Kapitel Base,  wird das Beispiel "Scrollbar" behandelt, siehe Beispieldatenbank «Beispiel_Datensatz_scrollbar.odb.
(Vielen Dank den Autoren dafür!)

Die Beispieldatenbank "Beispiel_Datensatz_scrollbar.odb" stellt die Scrollbar für Formulare dar.
Wie lauten die Befehle für Dialogboxen?

1. Methode zum Anzeigen der EXAKTEN POSITIONIERUNG des Scroll-Buttons

IM FORMULAR

    oForm = oEvent.Source
    oScrollField = oForm.getByName("Bildlaufleiste")
    oScrollField.ScrollValueMax = loMax
    oScrollField.ScrollValue = loPos

IM DIALOG

    oDialog.getControl("Bildlaufleiste").Model.ScrollValueMax = loMax
    oDialog.getControl("Bildlaufleiste").Model.ScrollValue = loPos

(soweit so gut)

2. Methode zum  AUSLÖSEN DURCH DIE BILDLAUFLEISTE "Beim Justieren"

(a) IM FORMULAR

    oScrollAction = oEvent.Source
    oForm = oScrollAction.Model.Parent
    loPos = oScrollAction.getValue()

(b) IM DIALOG ???

Verwendet man  loPos = oDialog.getControl("Bildlaufleiste").Model.ScrollValue, dann wird der Wert loPos der Position des Scroll-Button nach Loslassen der Mouse-Taste angezeigt.

Gibt es eine "oScrollAction" analoge Methode für Dialogboxen, so dass die einzelnen Datensätze angezeigt werden beim Durchlaufen der Scrollbar und nicht (nur) der Datensatz beim Beenden des Durchlaufens?






--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.