Kbase P126214: Events in MESSAGE-AREA of window don't fire in proper context
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/7/2010 |
|
Status: Unverified
SYMPTOM(s):
Events in MESSAGE-AREA of window don't fire in proper context
Keystroke events in the MESSAGE-AREA are applied to the WINDOW instead of the focused widget
Events applied to window instead of FOCUS widget
Focus in MESSAGE-AREA
No specific MESSAGE-AREA context
FACT(s) (Environment):
Windows
Progress/OpenEdge Versions
OpenEdge Category: Language (4GL/ABL)
CAUSE:
The MESSAGE-AREA of a window can receive focus on Windows, by selecting it with the mouse. This enables the user to scroll through the message lines and see past messages. Events from keystrokes in the MESSAGE-AREA, since 9.0A, are supposed to be caught and applied to the FOCUSed widget.
When positioned in the MESSAGE-AREA, FOCUS remains on a widget in a frame yet events applied at that time are not applied to that widget or the frame which contains it.
In fact, if an ENDKEY event is defined for the widget which has focus, the event trigger is still bypassed and goes straight to the window.
CAUSE:
Bug# OE00159447
FIX:
A common workaround is to define triggers for the window to pass the events on to the focused widget.
e.g.
ON END-ERROR OF CURRENT-WINDOW ANYWHERE OR
ENDKEY OF CURRENT-WINDOW ANYWHERE DO:
IF SELF NE FOCUS AND VALID-HANDLE(FOCUS) THEN
APPLY "ENDKEY" TO FOCUS.
RETURN NO-APPLY.
END.