Beep on ALT-key
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Beep on ALT-key
I'm trying to trap ALT-key. It works, but I hear a sound. How can I avoid it?
EMG
EMG
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
Just press ALT-letter on any dialog.
EMG
EMG
Re: Beep on ALT-key
Button, Listbox, combo, Where? Do you have a test code?
Regards.
Regards.
João Santos - São Paulo - Brasil
Re: Beep on ALT-key
Normal.
Master, see if you haven't connected anything in the windows settings.
Regards.
Master, see if you haven't connected anything in the windows settings.
Code: Select all
// 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
João Santos - São Paulo - Brasil
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
Yes, as I want to handle the ALT-key combination through bKeyDown not with a menu item.
EMG
EMG
Re: Beep on ALT-key
Master:
En wBrowse.prg o Dialog.prg haga esto:
In wBrowse.prg or Dialog.prg...
Regards,
En wBrowse.prg o Dialog.prg haga esto:
In wBrowse.prg or Dialog.prg...
Code: Select all
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 )
João Santos - São Paulo - Brasil
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
Thank you, but I don't want to change FWH sources.
EMG
EMG
Re: Beep on ALT-key
ok. ahora, és con el maestro Cristóbal. Regards, saludos.
João Santos - São Paulo - Brasil
Re: Beep on ALT-key
Enrico, I believe that this characteristic is changed in the configuration of the Operating System.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
So, it cannot be disabled programmatically?
EMG
EMG
Re: Beep on ALT-key
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
METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TControl
case nMsg == WM_SYSCOMMAND
return ::SysCommand( nWParam, nLoWord( nLParam ), nHiWord( nLParam ) )
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
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
EMG
- James Bott
- Posts: 4654
- Joined: Fri Nov 18, 2005 4:52 pm
- Location: San Diego, California, USA
- Contact:
Re: Beep on ALT-key
Enrico,
You don't have to modify the source, you can subclass instead.
James
You don't have to modify the source, you can subclass instead.
James
FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Beep on ALT-key
Subclass TControl? Don't think that class is thought for subclassing.
EMG
EMG