FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Pocket PC bKeyDown-RETURN is not processed, another event may be used?
Posts: 35
Joined: Mon Jan 19, 2009 09:14 AM
bKeyDown-RETURN is not processed, another event may be used?
Posted: Thu Apr 09, 2009 12:53 PM

Hi!

I try write code for event when RETURN key is pressed on window ( window have not any input elements ) .
In bKeyDown events every key is processed , but RETURN is not.

What event block may be used for this?

Reagards
Andrej

It is my code:

function Main()
LOCAL cSearch:=""

DEFINE WINDOW oWnd TITLE "KEYTEST"
@ 1,1 SAY oSay PROMPT cSearch SIZE 80, 30

oWnd:bKeyChar = { | nKey | Search( nKey, @cSearch ),;
oSay:Refresh() }

oWnd:bKeyDown = { | nKey | Search( nKey, @cSearch ),;
oSay:Refresh() }

ACTIVATE WINDOW oWnd
return nil

function Search( nKey, cSearch )

if nKey == 8
cSearch := SubStr( cSearch, 1, Len( cSearch ) - 1 )
elseif nKey==27
cSearch :=""
else
cSearch += Upper( Chr( nKey ) )
endif
MsgInfo(str(nKey))

return nil

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: bKeyDown-RETURN is not processed, another event may be used?
Posted: Thu Apr 09, 2009 09:10 PM

You can use the VALID clause or bLostFocus codeblock instead, and eventually test the pressed key using GetKeyState().

EMG

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: bKeyDown-RETURN is not processed, another event may be used?
Posted: Thu Apr 09, 2009 10:48 PM

Andrej,

As you have created a child control, then those events get routed to that child control.

If you comment out this line:

// @ 1,1 SAY oSay PROMPT cSearch SIZE 80, 30

then the main window should properly process those events.

You can use oWnd:Say( nRow, nCol, cText, ... ) to paint on the window instead of using a SAY control there.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 35
Joined: Mon Jan 19, 2009 09:14 AM
Re: bKeyDown-RETURN is not processed, another event may be used?
Posted: Mon Apr 20, 2009 07:09 AM

Thanks!
I will try this.
Andrey

Continue the discussion