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+unsubscr...@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