:setInputFocus / setappfocus()

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

:setInputFocus / setappfocus()

Beitrag von AUGE_OHR »

hi,

ich verwende XbpDialog mit :

Code: Alles auswählen

LOCAL oLast    := NIL
...
oDlg:setInputFocus  := {|| IF(oLast<>NIL,;
                         setAppFocus(oLast),;
                         setAppFocus(oStart)}
oDlg:killInputFocus := {|| oLast := setAppFocus() }
oStart ist ein XbpPushbutton der "focus" hat wenn ich zu einer anderen
Application wechsel. wenn ich nun "zurück" von der Application in mein
XbpDialog komme kann ich sehen das der oStart-Button immer noch
den "focus" hat.

nun hab ich ein (ownerdraw) Menu mit diesem XbpDialog.

Code: Alles auswählen

STATIC FUNCTION  CREATEMENUSYSTEM( oDlg, oXbpExit)
LOCAL oLast    := NIL
....
oMenu:setInputFocus  := {|| oLast := setAppFocus() }
oMenu:killInputFocus := {|| IF(oLast<>NIL,;
                         setAppFocus(oLast),;
                         NIL) }
aber wenn ich "zurück" aus dem Menu bin bekommt mein oStart-Button
nicht den "focus zurück" ...

was mache ich falsch ?

gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Jimmy,

eventuell erhält dein Control / Fenster keinen INPUT Focus, versuche es mal mit dem DisplayFocus ... ich meine nur SLE / MLE etc bekommen inputfocus, bin mir jetzt aber nicht sicher.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,
hab es versucht, es ist das selbe Verhalten.
es ist besser (und wohl richtig) das man bei XbpDialog den
oDlg:setDisplayFocus statt oDlg:setInputFocus nehmen sollte um
den focus der Childs auf dem oDlg:drawingArea besser kontrolieren
zu können.

wieder was gelernt, danke

gruss by OHR
Jimmy
Antworten