CL_GUI_HTML_VIEWER - Cursor setzen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
4 Beiträge Seite 1 von 1
4 Beiträge Seite 1 von 1

CL_GUI_HTML_VIEWER - Cursor setzen

Beitrag von VolkerPuttmann (ForumUser / 3 / 1 / 1 ) » 20. Feb 2016 16:54

Hallo zusammen,

per HTML-Code stellte ich über CL_GUI_HTML_VIEWER ein Eingabefeld auf einem Dynpro dar.

Ich muss jedoch immer zuerst ins Eingabefeld klicken, damit der Cursor gesetzt wird und eine
Eingabe vorgenommen werden kann.

Mit der "SET_FOCUS"-Methode kann ich zwar den Focus setzen, aber nicht den Cursor.

Hat jemand eine Idee, wie ich den Cursor ins Eingabefeld setzen kann?

Besten Dank schonmal!

Grüße
Volker


Re: CL_GUI_HTML_VIEWER - Cursor setzen

Beitrag von a-dead-trousers (Top Expert / 3217 / 81 / 799 ) » 20. Feb 2016 19:23

Am ehesten mit Javascript im HTML-Code.
Ich denke da an: Wenn WINDOW oder DOCUMENT den FOCUS bekommt, den Focus auf das Eingabefeld setzen.
Sonst ginge noch SET_SCRIPT_ON_ABAP_COMPLETE, aber dazu brauchst du irgendetwas, dass auf ABAP-Seite ein PAI/PBO auslöst.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
VolkerPuttmann

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_GUI_HTML_VIEWER - Cursor setzen

Beitrag von VolkerPuttmann (ForumUser / 3 / 1 / 1 ) » 23. Feb 2016 22:00

Danke, mit JAVA-Script im HTML habe ich es hinbekommen!

Ich habe die Funktionalität in einer Klasse gekapselt, sodass ein Textfeld ein Objekt ist.
Setzt man dann nun den Fokus, wird auch der Cursor gesetzt.

Komisch ist nur folgendes:
Wenn ich mit der Maus nacheinander in beide Textfelder klicke, dann blinkt in beiden der Cursor :shock:

Re: CL_GUI_HTML_VIEWER - Cursor setzen

Beitrag von a-dead-trousers (Top Expert / 3217 / 81 / 799 ) » 24. Feb 2016 07:45

Vermutlich handelt es sich um zwei getrennte Instanzen des CL_GUI_HTML_VIEWER. Diese kennen einander nicht und da der Haupt-Focus noch immer auf dem aktuellen Fenster liegt, verlieren die eingebetteten IE Instanzen ebenfalls nicht den Focus. Ein Fensterwechsel sollte daher die blinkenden Cursor verschwinden lassen.

Lösung: In HTML gibt es auch den onBlur-Event der beim Verlust des Focus ausgelöst wird. Einfach diesen im WINDOW oder DOCUMENT abfangen und an das Eingabefeld weiterreichen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Seite 1 von 1

Aktuelle Forenbeiträge

Langtext zur Exception
vor 42 Minuten von a-dead-trousers 11 / 96
Adobe LiveCycle Designer - Ausblenden Text auf letzter Seite
vor 2 Stunden von a-dead-trousers 4 / 91
Welche Entwicklertools?
vor 17 Stunden von LostDarkness 2 / 921
Werksspezifische Konfiguration kopieren
vor 19 Stunden von eleve 2 / 48
Removal of left space - next to a docking container
vor 19 Stunden von Haemma83 16 / 114

Unbeantwortete Forenbeiträge

BAPI_PO_CREATE1 und Einkaufsinfosatz
vor 3 Tagen von SweetRuedi 1 / 81
WCOCO: Gruppe für Betragsfelder 0S01
vor 5 Tagen von SAP_ENTWICKLER 1 / 52
CAS-Nr.: Chemical Abstracs Service
vor einer Woche von SAP_ENTWICKLER 1 / 92
Interaktives Skript, Rolle IC-Manager
vor 3 Wochen von erubadhron86 1 / 129