FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Para Antonio - Combobox + bkeydown
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
Para Antonio - Combobox + bkeydown
Posted: Mon Apr 24, 2006 06:02 PM
Olá Antonio,

Veja no exemplo abaixo quando eu teclo "ESC" no GET ele me retorna a tecla pressionada. Já no COMBOBOX isto não está funcionando. Como fazer isto funcionar ?

#include "fivewin.ch"

function main()

   local oDlg, cCombo := "2", oCombo, oGet, cGet := space(10)
   local aItems := { "1", "2", "3" }

   DEFINE DIALOG oDlg FROM 2, 2 TO 18, 60 TITLE "Test" ;
      STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )

   @ 1, 1 get      oGet   var cGet   SIZE 50, 12

   oGet:bkeydown := { |nKey| msgstop( nKey ) }

   @ 2, 2 COMBOBOX oCombo var cCombo ITEMS aItems SIZE 200, 100

   oCombo:bkeydown := { |nKey| msgstop( nKey ) }

   ACTIVATE DIALOG oDlg CENTERED

return nil


Obrigado,

Rossine.
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
Para Antonio - Combobox + bkeydown
Posted: Tue Apr 25, 2006 01:51 PM
Olá Antonio,

Eu fiz estas mudanças em COMBOBOX.PRG e funcionou :-)

...
   METHOD KeyDown( nKey, nFlags )

   METHOD GetDlgCode( nLastKey )
...

//----------------------------------------------------------------------------//

METHOD KeyDown( nKey, nFlags ) CLASS TComboBox

   if ::bChange != nil
      Eval( ::bChange, nKey, nFlags, Self )
   endif

return Super:KeyDown( nKey, nFlags )

//----------------------------------------------------------------------------//

METHOD GetDlgCode( nLastKey ) CLASS TComboBox

   if Len( ::oWnd:aControls ) == 1
      return DLGC_WANTALLKEYS
   endif

  ::oWnd:nLastKey = nLastKey

return DLGC_WANTALLKEYS

//----------------------------------------------------------------------------//


Se isto estiver correto, seria possível incluir esta mudanças em FWH ? :-)

Obrigado e abraços,

Rossine.
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Para Antonio - Combobox + bkeydown
Posted: Wed Apr 26, 2006 09:10 AM

Rossine,

La tecla ESC se ruta al contenedor, es decir, a la caja de diálogo.

Si cambias GetDlgCode() entonces si se la das al control, pero no es un comportamiento estandard.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
Para Antonio - Combobox + bkeydown
Posted: Wed Apr 26, 2006 11:25 AM

OK Antonio :)

Gracias,

Rossine.

Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++

Continue the discussion