FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Beep on ALT-key
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Beep on ALT-key
Posted: Sun Oct 18, 2020 05:17 PM

I'm trying to trap ALT-key. It works, but I hear a sound. How can I avoid it?

EMG

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 12:34 AM

For Example?

Regards.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 07:23 AM

Just press ALT-letter on any dialog.

EMG

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 12:56 PM

Button, Listbox, combo, Where? Do you have a test code?

Regards.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 01:08 PM
Normal.

Master, see if you haven't connected anything in the windows settings.

Code (fw): Select all Collapse
// Testing NON-Modal Dialog Boxes - \SAMPLES\TESTDLGN.PRG

#include "fivewin.ch"

Static MainWnd

Function Main()

   DEFINE WINDOW MainWnd FROM 1, 1 TO 22, 75 ;
      TITLE "Test" ;
      MENU BuildMenu() ;
      COLOR "W/B"
      
   ACTIVATE WINDOW MainWnd MAXIMIZED ;
      VALID MsgYesNo( "Want to end ?" )
   
Return NIL

Function BuildMenu()

   local oMenu

   MENU oMenu
      MENUITEM OemToAnsi( "&Try" ) ACTION Try( )

      MENUITEM "E&xit" ACTION MainWnd:End()
   ENDMENU
   
Return oMenu

Function Try()

   Local oDlg

   DEFINE DIALOG oDlg TITLE "Non modal dialog"
   
   @ 2, 2 BUTTON "&End" OF oDlg ACTION oDlg:End( )
   
   /*
   ACTIVATE DIALOG oDlg CENTERED NOWAIT ;
      VALID MsgYesNo( "Want to close it ?" )
   */

   ACTIVATE DIALOG oDlg CENTERED

Return NIL


Regards.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 01:18 PM

Yes, as I want to handle the ALT-key combination through bKeyDown not with a menu item.

EMG

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 02:03 PM
Master:

En wBrowse.prg o Dialog.prg haga esto:

In wBrowse.prg or Dialog.prg...

Code (fw): Select all Collapse
   DATA   bAltKey

    // Para Acionamento da Tecla Alt+++...
    METHOD SysCommand( nType, nLoWord, nHiWord )

en:

METHOD Syscommand( nType, nLowOrd, nHiWord ) Class TWBrowse  //Era TcBrowse

    Local oFolder, nItem, nButton 
    Local hCtrl 

    DO CASE

    Case nType == SC_KEYMENU   // Alt+...

       If ::bAltKey != Nil
          Eval( ::bAltKey, nLoWord )
       Endif

    ENDCASE

Return Super:SysCommand( nType, nLoWord, nHiWord )


    // En el modulo:

    // Para Acionar a Tecla ALT, Dentro da ListBox(wBrowse.Prg)
    oLbx:bAltKey  := { | nKey, nFlags | TESTE_KEY( nKey, aGetVenda,  oLbx,   ;
                                                     oDlgVendas, DbClientes, ;
                                                     DbEstoque,  DbPedidos,  ;
                                                     DbFornece, oSaida ) }


// Para Usar Tecla ALT+Letra
STATIC FUNCTION Teste_Key( nKey, aGetVenda,  oLbx, oDlgVendas, DbClientes, ;
                                 DbEstoque,  DbPedidos,  DbFornece, oSaida )

   LOCAL cKey := CHR( nKey )
   LOCAL X, oCtrl, oMeter, oText, lEnd, DeOndeVem, DbSangria

   MEMVAR nValorCompra, aSaysMoveis, nTelefone, cNomeClien, nCodigoProd
   MEMVAR NNUMEROTEL

   IF GetKeyState( VK_CONTROL ) .AND. ;
      GetKeyState( VK_SHIFT )

      //MsgInfo( " CONTROL + SHIFT + " + cKey )

   ELSEIF GetKeyState( VK_CONTROL )

      //MsgInfo( " ALT + CONTROL + " + cKey )

   ELSEIF GetKeyState( VK_SHIFT )

      //MsgInfo( " ALT + SHIFT + " + cKey )

   ELSEIF GetKeyState( VK_MENU )                    // alt key

      //MsgInfo( " ALT + " + cKey + " ACIONADA " )

   ENDIF

   cKey := Upper( cKey )

   IF  cKey == "I"            // Alt+I

      // MsgInfo( " INCLUIR" )

   ELSEIF cKey == "A"    // Alt+A

      // MsgInfo( " ALTERAR" )

   ELSEIF cKey == "C"    // Alt+C

      // Se a ListBox dos Produtos Tiver Ötens...
      SELECT ( DbPedidos:cAlias )
      GO TOP

      IF EOF()

         lLigaCliente := .T.  //-> Liga o Get dos Clientes

         aSaysMoveis[1]:Show()

         aGetVenda[1]:Show()
         aGetVenda[2]:Show()

         XFOCUS( aGetVenda[3] )

         RETURN( .T. )
      ELSE

         nCodigoProd  := SPACE( 13 )

         aGetVenda[3]:VarPut( nCodigoProd )
         aGetVenda[3]:Refresh()

         XFOCUS( aGetVenda[3] )

         RETURN( .F. )
      ENDIF

   ELSEIF cKey == "E"    // Alt+E

      //MsgInfo( " EXCLUIR" )

   ELSEIF cKey == "F"    // Alt+F FORNECEDORES

      // Se a ListBox dos Produtos Tiver Ötens...
      SELECT ( DbPedidos:cAlias )
      GO TOP

      IF EOF()

         lLigaCliente := .T.  //-> Liga o Get dos Clientes

         aSaysMoveis[1]:Show()

         aGetVenda[1]:Show()
         aGetVenda[2]:Show()

         XFOCUS( aGetVenda[3] )

         RETURN( .T. )

      ELSE

         nCodigoProd  := SPACE( 13 )

         aGetVenda[3]:VarPut( nCodigoProd )
         aGetVenda[3]:Refresh()

         XFOCUS( aGetVenda[3] )

         RETURN( .F. )

      ENDIF

   ELSEIF cKey == "P"    // Alt+P

      IF lPesqFone .AND. nValorCompra <= 0

         //MsgInfo( " ULTIMOS PEDIDOS DO CLIENTE" )
         ULTIMOS_PEDIDOS( nKey, aGetVenda,  oLbx, oDlgVendas, DbClientes, ;
                                DbEstoque,  DbPedidos, oSaida )
      ELSE

         RETURN( .F. )

      ENDIF

   ELSEIF cKey == "R"    // Alt+R

      //MsgInfo( OemToAnsi( " RELATàRIOS" ) )

      //-> Reservada Para a VALOR NO CAIXA DO DIA -> VALORNCX.PRG
   ELSEIF cKey == "V"  //-> ALT+V

      IF NVALORCOMPRA <= 0

         VALORNCX( DbPedidos, DbSangria, oLbx, DeOndeVem := 1,             ;
            oMeter, oText, lEnd )

      ELSE

         // mensa

      ENDIF

      SELECT ( DbPedidos:cAlias )
      DbPedidos:SetOrder( 1 )
      GO TOP

      //-> Codigo do Produto
      nCodigoProd  := SPACE( 13 )
      aGetVenda[3]:VarPut( nCodigoProd )
      aGetVenda[3]:Refresh()
      XFOCUS( aGetVenda[3] )

      //-> Reservada Para a Calculadora - At+X na ListBox dos Produtos
   ELSEIF cKey == "X"  //-> Chamar a Calculadora

      CALCULAD( 0, X, oCtrl )

   ENDIF

RETURN( nKey )


Regards,
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 02:09 PM

Thank you, but I don't want to change FWH sources.

EMG

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 02:18 PM

ok. ahora, és con el maestro Cristóbal. Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 02:23 PM

Enrico, I believe that this characteristic is changed in the configuration of the Operating System.

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 02:47 PM

So, it cannot be disabled programmatically?

EMG

Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 04:59 PM

Enrico, I will remember that we changed for a similar case
METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TControl
case nMsg == WM_SYSCOMMAND
return ::SysCommand( nWParam, nLoWord( nLParam ), nHiWord( nLParam ) )
Best regards,
Otto

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Mon Oct 19, 2020 05:17 PM

I don't want to alter the FWH source code. Anyway, I tried with OVERRIDE command and it didn't work (the program didn't start).

EMG

Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: Beep on ALT-key
Posted: Tue Oct 20, 2020 04:08 PM

Enrico,

You don't have to modify the source, you can subclass instead.

James

FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Beep on ALT-key
Posted: Tue Oct 20, 2020 04:52 PM

Subclass TControl? Don't think that class is thought for subclassing.

EMG

Continue the discussion