He conseguido anular su funcionalidad con:
- Code: Select all Expand view
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.