Cursor in Formularfeldern ans Ende setzen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Cursor in Formularfeldern ans Ende setzen

Re: Cursor in Formularfeldern ans Ende setzen

von F3K Total » Di, 11.03.2014 17:56

Hallo Robert,
RobertG hat geschrieben:... warum ich erst das Minimum, dann das Maximum und schließlich den Focus setzen muss.
Es verhält sich umgekehrt, du setzt den Focus und selektierst danach.
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

Re: Cursor in Formularfeldern ans Ende setzen

von RobertG » Di, 11.03.2014 16:43

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

Re: Cursor in Formularfeldern ans Ende setzen

von F3K Total » Mo, 10.03.2014 22:16

Hallo Robert,
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
Gruß Rik

Cursor in Formularfeldern ans Ende setzen

von RobertG » Mo, 10.03.2014 21:43

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

Nach oben