Hallo *,
ich baue gerade eine Lösung, um in Formularfeldern Autotext zu verwenden. Den Text bekomme ich wohl in die Felder rein, auch die vorherige Eingabe kann ich dabei sichern. Leider habe ich bisher aber nur einen Zugang über den TextCuror, nicht aber den ViewCursor gefunden. Ich kann also nicht den sichtbaren Cursor bewegen. Ergebnis ist, dass ich nach dem Erscheinen des Autotextes den Cursor immer am Anfang des Formularfeldes stehen habe, nicht aber dort, wo die eigentliche Eingabe weiter laufen sollte.
Weiß jemand, wie ich die sichtbare Position des Cursors in einem Formularfeld, z.B. einem Textfeld, über Makros beeinflussen kann?
Gruß
Robert
Cursor in Formularfeldern ans Ende setzen
Moderator: Moderatoren
Re: Cursor in Formularfeldern ans Ende setzen
Hallo Robert,
hier ein Beispiel:
Gruß Rik
hier ein Beispiel:
Code: Alles auswählen
Sub S_set_cursor
DIM oselection as new com.sun.star.awt.Selection
oController = ThisComponent.CurrentController
oForm = ThisComponent.drawpage.forms.F_Adressen
otxtStrasse = oForm.txtStrasse
nlenght = len(otxtStrasse.Text)
oselection.Min = nlenght
oselection.Max = nlenght
otxtStrasseControl = oController.getControl(otxtStrasse)
otxtStrasseControl.setfocus
otxtStrasseControl.Selection = oselection
end sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Cursor in Formularfeldern ans Ende setzen
Hallo Rik,
hat prima geklappt.
Verstanden habe ich nicht, warum ich erst das Minimum, dann das Maximum und schließlich den Focus setzen muss. Ich bin bereits in dem Textfeld, führe dort eine Textänderung durch (Autotext) und will dann nach der Änderung ans Ende gelangen - der Cursor steht schon in dem Formularfeld. Aber der Code führt auf jeden Fall zum Ziel.
Gruß
Robert
hat prima geklappt.
Verstanden habe ich nicht, warum ich erst das Minimum, dann das Maximum und schließlich den Focus setzen muss. Ich bin bereits in dem Textfeld, führe dort eine Textänderung durch (Autotext) und will dann nach der Änderung ans Ende gelangen - der Cursor steht schon in dem Formularfeld. Aber der Code führt auf jeden Fall zum Ziel.
Gruß
Robert
Re: Cursor in Formularfeldern ans Ende setzen
Hallo Robert,
Nur die Definition der Selektionslänge, in diesem Fall länge Null, habe ich zufällig vor den Fokus gesetzt.
Wenn dein Feld den Fokus bereits hat, müsstest du auf das Setzen verzichten dürfen.
Gruß Rik
Es verhält sich umgekehrt, du setzt den Focus und selektierst danach.RobertG hat geschrieben:... warum ich erst das Minimum, dann das Maximum und schließlich den Focus setzen muss.
Nur die Definition der Selektionslänge, in diesem Fall länge Null, habe ich zufällig vor den Fokus gesetzt.
Wenn dein Feld den Fokus bereits hat, müsstest du auf das Setzen verzichten dürfen.
Gruß Rik
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO