Fokus in Writer-Formular 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: Fokus in Writer-Formular setzen

von ck » Mo, 14.02.2005 11:30

Hallo Götz,

ich hatte das gleiche Problem wie Du. Stutzig wurde ich jedoch, als in einem Dokument nach dem Öffnen jedesmal der Kursor richtig im 1. Eingabefeld stand, im nächsten Dokument jedoch mitten im gesperrten Textbereich.
Nach einigem Suche habe ich folgendes gefunden:

1. Formularfunktionen aufrufen
2. Automatischer Kontrollelement-Fokus aktivieren
3. zu jedem Kontrollelement Tabstop auf ja und Reihenfolge >=1 setzen.

Nach diesen Einstellungen funktioniert es in allen meinen Formularen perfekt, ohne eine Zeile Programmcode schreiben zu müssen.

Ich hoffe dieser Tip kommt nicht zu spät für Dich? (Wenn ja hilft er vielleicht einem anderen OO-Fan)

von goetz » Mo, 20.12.2004 09:22

Vielen Dank, Thomas,
dein Code hat mir sehr geholfen und das mit dem Ereignis werde ich per "trial & error" sicher irgendwie hinbiegen!
Ein frohes und möglichst geruhsames Fest für dich und deine Familie,
Götz (sich auf dein Buch über StarBasic freuend, damit er endlich kapiert, was der CurrentController ist..., :wink: )

von Toxitom » Sa, 18.12.2004 10:16

Hey Götz,
Kann mir bitte jemand mit etwas Beispielcode helfen?
Einen Beispielcode kann ich dir geben, schwierig wird es allerdings, das Makro zu einem gewünschten Ereignis zu binden. Da musst du experimentieren. Ist der Code im Dokument gespeichert und du bindest ihn an das Ereignis "Dokument erzeugen", funktioniert er nicht, da der Controller noch nicht initialisiert ist. Da musst du ein wenig experimentieren. Ansosnten setzt du den Fokus aud das im Formular (1. Formular im Dokument) definierte Feld mit Namen "Textbox":

Code: Alles auswählen

sub FormularAktivieren
oDoc = thisComponent
	oForm = oDoc.drawpage.forms.getbyindex(0)
	oCon = oDoc.getCurrentController
	oFormFeld=oForm.getbyname("TextBox")
	oCon.getControl(oFormFeld).setFocus
end sub
Gruss
Thomas

Fokus in Writer-Formular setzen

von goetz » Fr, 17.12.2004 16:56

Hallo, Leute!
Ich habe Ich habe ein Formular im writer entwickelt. Es besteht aus einem Textgerüst (Briefbogen) und diversen Eingabefeldern.
Das Textgerüst habe ich über "Einfügen-Bereiche" geschützt, damit dem User hier kein Faux-Pas unterläuft.
So weit funktioniert auch alles prima, bis auf den Start: Wenn ich das Dokument öffne (oder auch als stw ein neues erzeuge), steht der Cursor immer irgendwo im geschützten Text. Ich möchte aber, dass er im ersten Eingabefeld steht.
Über die Mailing-Liste habe ich jetzt erfahren, dass ich ein Makro und hier die Methode "SetFocus" benutzen muss. um zum Ziel zu gelangen. Code-Schnipsel, wie ich so was in Dialogen mache, habe ich gefunden, aber ich habe ja keinen Dialog, meine Kontrollfelder stehen einfach mitten im Text.
Kann mir bitte jemand mit etwas Beispielcode helfen?
VDiV & Gruß, Götz

Nach oben