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
bKeyDown-RETURN is not processed, another event may be used?
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: bKeyDown-RETURN is not processed, another event may be used?
You can use the VALID clause or bLostFocus codeblock instead, and eventually test the pressed key using GetKeyState().
EMG
EMG
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: bKeyDown-RETURN is not processed, another event may be used?
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.
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.
Re: bKeyDown-RETURN is not processed, another event may be used?
Thanks!
I will try this.
Andrey
I will try this.
Andrey