Wie Cursor hinter benutzerdefiniertes Feld 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: Wie Cursor hinter benutzerdefiniertes Feld setzen?

Re: Wie Cursor hinter benutzerdefiniertes Feld setzen?

von MyFairTux » Mi, 02.09.2009 15:50

Ach ... sorry, das war mein Fehler. Ich hatte versucht, das ähnlich wie bei Lesezeichen durchzuführen - daher rühren die "Rudimente" mit dem Anker.

Ich habe die Felder wie von Dir beschrieben eingefügt.

Ich könnte das Anspringen natürlich auch per Lesezeichen machen, aber das finde ich unschön.

Es muss doch eine Möglichkeit geben, den Cursor hinter ein bestimmtes benutzerdefiniertes Feld zu schieben.

Chris

Re: Wie Cursor hinter benutzerdefiniertes Feld setzen?

von komma4 » Mi, 02.09.2009 15:31

Ein nach Einfügen>Feldbefehl>Andere...>Variablen>Benutzerfeld eingefügtes Feld hat (bei mir) keinen Anker.
Wie erstellst Du ein solches Feld?


Zum Bewegen eines Textcursors, siehe: http://api.openoffice.org/docs/common/r ... ursor.html

Wie Cursor hinter benutzerdefiniertes Feld setzen?

von MyFairTux » Mi, 02.09.2009 14:25

Hallo,

ich möchte gerne auf meinen Rechnungen einen Schluß der folgenden Form haben:

Mit freundlichen Grüßen
(a)im Auftrag

(b)Fritz Meier
OpenOffice GmbH

Damit aber auch ich als Chef ;-) unterschreiben kann, habe ich für "im Auftrag" und "Fritz Meier" die benutzerdefinierten Felder "ImAuftrag" und "Unterzeichner" eingefügt und möchte die dann von Calc aus mit den entsprechenden Daten des Rechnungsformulars dort füttern.
Soweit funktioniert das auch.

Ich möchte nun aber hinter Feld (a) immer dann einen Zeilenumbruch haben, wenn dort "im Auftrag" steht (also wenn ein Mitarbeiter unterschreibt), damit der Abstand zum Namen immer derselbe ist.

Nun habe ich schon etwas mit Cursormarkierungen etc. gespielt, aber ich finde irgendwie die Methode nicht, die mir den Textcursor hinter ein benutzerdefiniertes Feld setzt.
Es müsste vermutlich so ähnlich aussehen:

Code: Alles auswählen

    oFeld = oTextFM.getByName("ImAuftrag")
    oAnker = oFeld.getAnchor()
    oText = oDoc.text
    oCursor = oText.createTextCursor()
    ***
    oText.insertControlCharacter(oCursor, "com.sun.star.ControlCharacter.LINE_BREAK", false)
Mir fehlt das Stück mit den drei Sternchen, so dass der Cursor hinter das Feld gesetzt wird.

Kann mir jemand weiterhelfen (Methodenname etc. würde schon reichen)?

Viele Grüße,
Chris

Nach oben