Fokus "verschieben"

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Fokus "verschieben"

Beitrag von Stephan »

In einem Writer-Dokument befindet sich ein (Formular)Steuerelement, welches den Fokus besitzt. Wie "verschiebe" ich den Fokus von diesem Steuerelement auf den normalen Fließtext im Dokument mittels Starbasic? (Es gelingt mir nicht einmal den Fokus manuell zu verschieben im Sinne TAB-Taste, nur klicken mit der Maus auf den Textbereich verschiebt den Fokus)

Stephan
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Fokus "verschieben"

Beitrag von mikeleb »

Hallo,
auch wenn Stephan die Frage vor Ewigkeiten gestellt hat: Der Focus lässt sich über die Methode grabfocus() setzen. Dazu hangelt man sich über ComponentWindow via .getAccessibleContext() und .getAccessibleChild zum gewünschten Objekt.

@Richard: Für dein Problem ist es allerdings nicht das Richtige bzw. Sinnvolle (und mittlerweile ja auch anderweitig gelöst).
Gruß,
mikeleb
cwolan
**
Beiträge: 47
Registriert: Sa, 06.03.2021 12:56

Re: Fokus "verschieben"

Beitrag von cwolan »

Hallo,

Vielleicht ist dies eine Art Lösung:

Code: Alles auswählen

ThisComponent.CurrentController.Frame.ContainerWindow.setFocus
Stephan hat geschrieben:(Es gelingt mir nicht einmal den Fokus manuell zu verschieben im Sinne TAB-Taste, nur klicken mit der Maus auf den Textbereich verschiebt den Fokus).
Die Tastenkombination Strg+F5 gab es im Jahr 2004 noch nicht?
Wird zum schnellen Umschalten verwendet ("Kontrollfeld-Fokus" in 'Extras - Anpassen - Tastatur',
"Tastenkombinationen" für OpenOffice).


Gruß Czesław
OpenOffice 1.1.5 – 4.1.15
LibreOffice 6.4.7 – 7.6.5
Windows 7,10,11 64-bit
Antworten