FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for CA-Clipper Arrow keys don't work in ListBox in FW24 and XP
Posts: 100
Joined: Wed Oct 04, 2006 04:50 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Thu Oct 26, 2006 03:24 PM

Five Win,

We've hit a wall with arrow keys in some part of our POS. The Up and Down arrow keys is not working in a the List Box but in other part of the program like in popup menus it works fine.

Environment: XP, Clipper5.2, comix and FW24

Is there any FW update in the List box that may correct the this behavior?

Or there is anything I can tweak in the list box?

TIA

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Thu Oct 26, 2006 04:23 PM

Check that the listbox has the focus:

oListBox:SetFocus()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 100
Joined: Wed Oct 04, 2006 04:50 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Fri Oct 27, 2006 04:05 PM

Antonio,

Thanks for the quick reply.

>Check that the listbox has the focus:
>oListBox:SetFocus()

The list box has focused. But somehow fivewin cannot process the up/down arrow keys.

Here's fragment of the code:

@ 0,0 listbox aObject[AO_JOURNALLIST] fields headers 'Journal xx' alias 'ARRAY' pixel

#define LINES_NONE  0
aObject[AO_JOURNALLIST]:nLineStyle := LINES_NONE

// aObject[AO_JOURNALLIST]:AdjClient()
// Below statement does same as above and handles resize
aObject[AO_JOURNALWINDOW]:SetControl(aObject[AO_JOURNALLIST])
aObject[AO_JOURNALLIST]:bKeyChar := GetWndFrame():bKeyChar

// Apply font and color after journal list box is created 03/17/2004 11:42AM
activate window aObject[AO_JOURNALWINDOW] on init ( oRect:Apply( self ), ClickEvent( aObject[AO_JOURNALLIST], 'Journal' ) ) ;
valid oRect:Save( aObject[AO_JOURNALWINDOW] ) .and. lChildEnd()
// logmsg( 'res.txt','Font ' +'aObject[AO_JOURNALWINDOW]:oFont:hFont' +' handle: ' +char( aObject[AO_JOURNALWINDOW]:oFont:hFont ) )

aObject[AO_JOURNALWINDOW]:Refresh()

aObject[AO_JOURNALWINDOW]:SetFocus()  // FW recommendation - jdd

aObject[AO_JOURNALLIST]:bKeyDown:={||msgInfo("KeyCode: "+str(LS_getKeyPressed())+ "  lastkey:" +str(lastkey()) )}

Observation:

The b:KeyDown is invoked by FW when Up/down Arrow keys is pressed.

The value of nKeyPressed is 255 in both up/down Arrow keys.


function LS_getKeyPressed


local i:=0,nKeyPressed:=0
for i=0 to 255
//if getKeyStat(i)
if getAsyncKey(i)
nKeyPressed=i
exit
endif
next i
return nKeyPressed


Gracias,

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Sun Oct 29, 2006 10:31 AM

If you are using a DBF index, please rebuild it, in case it may be corrupted.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Sun Oct 29, 2006 10:34 AM

Test it this way:

aObject[AO_JOURNALLIST]:bKeyDown:={| nKey | MsgInfo( nKey ) }

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 100
Joined: Wed Oct 04, 2006 04:50 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Sun Oct 29, 2006 10:07 PM

Antonio,

I am using array not DBF file . What is the value o:nLastKey? It is the same as getAsynckey(i)? I am getting 255 on up, down, left, right, and some other keys on POS keyboard. Is there any fivewin function that can properly identify these POS keys?

TIA,

Jose

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Mon Oct 30, 2006 12:04 AM

Jose,

Check the values that you get here:

aObject[AO_JOURNALLIST]:bKeyDown:={| nKey | MsgInfo( nKey ) }

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 100
Joined: Wed Oct 04, 2006 04:50 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Mon Oct 30, 2006 09:47 PM

>Check the values that you get here:

>aObject[AO_JOURNALLIST]:bKeyDown:={| nKey | MsgInfo( nKey ) }

That helps a lot!

I wonder why it is not mentioned in the documentation that it can receive two parameters (nKey, nFlags)? Or I just missed it?

nFlag value was the essential data in this particular case.

MUCHAS GRACIAS AMIGO !!!!

Jose

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Arrow keys don't work in ListBox in FW24 and XP
Posted: Mon Oct 30, 2006 10:59 PM

Jose,

De la documentación de classes de FWH:

<bKeyDown> Whenever the window has focus and a NON-SYSTEM key is pressed (ie the <Alt> key was not pressed in conjunction with this key), this codeblock will be called. When <bKeyDown> is called it receives two parameters: <nKey> The virtual key code of the key. <nFlags> Specifies several internal values like repeat code and scan code. For more information about these values please read a MS-Windows APIdescription about the WM_KEYDOWN message.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion