Hallo,
kann man bei Xbpbrowse:Itemselected zwischen "Maus: Doppelklick" und "Tastatur:Enter" unterscheiden?
ich hab da in der Doku nichts gefunden...
Gruß Stefan
XbpBrowse:Itemselected Unterscheidung möglich?
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: XbpBrowse:Itemselected Unterscheidung möglich?
Frage : wie würdest du denn das Keyboard abfragen
ein Tastendruck erzeugt genau so wie ein Maus klick einen Event und wenn man den "abfängt" dann geht er nicht an andere Controls sprich dem oBrowse.
wenn du z.b. eine inkrementelle Suche in deinem Browse schreiben willst würde ich den oBrowse:Keyboard Callback Slot mit einem Codeblock bestücken.
wenn du eine einfache Lösung suchst siehe diese Eventloop an
Code: Alles auswählen
oBrowse:itemSelected := {|uNIL1, uNIL2, self| Msgbox("select via Mouse") }
nEvent := xbeP_None
DO WHILE .NOT. lExit = .T.
nEvent := AppEvent( @mp1, @mp2, @oXbp )
DO CASE
// hier den Keyboard Event abgefangen -> nicht weiter zum Browse
// |||||||||||||
CASE nEvent == xbeP_Keyboard .AND. mp1 == xbeK_ENTER
Msgbox("select via Keyboard","forward to Browse")
// so per Keyboard das Browse aktivieren
PostAppEvent(xbeBRW_ItemSelected,,,oBrowse)
CASE nEvent == xbeP_Keyboard .AND. mp1 == xbeK_ESC
EXIT
OTHERWISE
// andere Events werden weiter geleitet
oXbp:HandleEvent( nEvent, mp1, mp2 )
ENDCASE
ENDDO
gruss by OHR
Jimmy
Jimmy
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
Re: XbpBrowse:Itemselected Unterscheidung möglich?
Habe mein Problem geklärt, danke.
Vorher:
Jetzt:
Vorher:
Code: Alles auswählen
DO WHILE ! lExit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
IF nEvent == xbeP_Keyboard
Do Case
case mp1 = xbeK_ESC
lExit:= .T.
case mp1 = xbeK_ENTER
GE_KAL_Sicher(NIniFile)
lExit:= .T.
Endcase
Endif
ENDDO
Code: Alles auswählen
DO WHILE ! lExit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
IF nEvent == xbeP_Keyboard
Do Case
case mp1 = xbeK_ESC
lExit:= .T.
case mp1 = xbeK_ENTER
GE_KAL_Sicher(NIniFile)
lExit:= .T.
Otherwise
oXbp:handleEvent( nEvent, mp1, mp2 )
Endcase
Else
oXbp:handleEvent( nEvent, mp1, mp2 )
Endif
ENDDO
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: XbpBrowse:Itemselected Unterscheidung möglich?
damit sind ja alle Keyboard Events gemeint ... was dann noch ein OTHERWISE erfordert ...
Code: Alles auswählen
CASE nEvent == xbeP_Keyboard .AND. mp1 == xbeK_ENTER
gruss by OHR
Jimmy
Jimmy