FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Pocket PC Tecla BACK en smartphone
Posts: 144
Joined: Sun Dec 18, 2005 03:18 PM
Tecla BACK en smartphone
Posted: Fri Jul 18, 2008 10:10 AM
Alguien sabe como se captura la pulsacion de dicha tecla desde un get?

He conseguido anular su funcionalidad con:
DEFINE DIALOG oDlg RESOURCE "DLGPASSWORD" OF oCli:oWnd

   
   REDEFINE SAY ID 101 COLOR CLR_BLACK, CLR_WHITE OF oDlg
   REDEFINE GET oGet VAR oCli:cargo ID 102  OF oDlg;
   ON CHANGE oGet:Assign()	
  	
    oGet:bGotFocus         := {|| SetInputmode( oGet:hWnd, IM_AMBIG ) }
    
    oDlg:bKeydown         := {|nkey| msginfo(str(nkey)+"get")}
    oDlg:bKeydown         := {|nkey| msginfo(str(nkey)+"dialogo get")}
    oCli:oWnd:bKeydown := {|nkey| msginfo(str(nkey)+" ventana principal")}
    ACTIVATE DIALOG oDlg;
    ON INIT ( DlgFullScr(oDlg:hwnd), oDlg:Setmenu( MenuPassword( oDlg ) ),;
                 VKBACKDISABLE( oDlg:hWnd ) ) 
		
HB_FUNC( VKBACKDISABLE ) // deshabilita la tecla back
{ 
   HWND hMenuBar = (HWND) SHFindMenuBar( (HWND) hb_parnl(1) );  
		
	 LPARAM lp = MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY,SHMBOF_NODEFAULT | SHMBOF_NOTIFY );
   
   SendMessage( hMenuBar, SHCMBM_OVERRIDEKEY, VK_TBACK, lp );
   
   return  ; 
}


Después ningun control detecta su pulsación.
Tampoco la clase Tget lo detecta en sus metodos Keydown() y Keychar()
AlgunaIdea ?

Gracias.
Saludos

Salvador
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Tecla BACK en smartphone
Posted: Fri Jul 18, 2008 11:39 AM

Salvador,

Te refieres a la tecla de borrado a la izquierda ? (flecha a la izquierda encima de enter en un teclado de PC).

Por que necesitas anularla ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 144
Joined: Sun Dec 18, 2005 03:18 PM
Tecla BACK en smartphone
Posted: Fri Jul 18, 2008 01:27 PM

Si la misma, en smartphone la tecla [<--]
Por defecto su funcionalidad es volver a la ventana anterior.
Cuando tienes un dialogo con un get, hay que darle la funcionalidad de de la tecla VK_BACK, por eso utilizo la función del post anterior, luego hay que capturar el evento de dicha tecla que será WM_HOTKEY y pasarlo al control que tiene el foco con la función SHSendBackToFocusWindow, para que este la procese.
El problema es que después de programar la tecla, no puedo capturar su evento.

Saludos

Salvador

Continue the discussion