USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Preciso de um help...
ChicoVieira
CRUZEIRO
SP - BRASIL
ENUNCIADA !
Postada em 15/10/2005 09:55 hs            
Emoções Olá pessoal.
Alguém sabe qual a maneira de deixar a função NumLock sempre ativada? Nos meus projects, sempre intercalo a entrada de dados em textbox e combobox (nesta última, no evento GotFocus, uso a rotina <SendKeys ("{F4}")>, para que, ao tabular, seja automaticamente aberta a lista de opções). E, como a tabulação pelos campos pode ser feita pela tecla <Enter>, parece que o teclado fica maluco, acendendo e apagando o LED da tecla NumLock. Assim, não dá para digitar números (pelo teclado numérico), a não ser clicando na tecla NumLock para ativá-la, toda vez que preciso entrar com números nos textbox.
Existe alguma propriedade do form, para deixar a função NumLock sempre ativada? Ou precisa de algum código para cada campo que for tabulado? Agradeço a colaboração.
   
MARCONE
Pontos: 2843
BRASÍLIA
DF - BRASIL
Postada em 15/10/2005 19:07 hs            
Propriedade KeyPreview do form = True
em (GENERAL) do form inclua a seguinte instrução:
 
Option Explicit
Private Declare Sub keybd_event Lib "user32" _
 (ByVal bVk As Byte, _
  ByVal bScan As Byte, _
  ByVal dwFlags As Long, _
  ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" _
  Alias "MapVirtualKeyA" _
 (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const VK_NUMLOCK = &H90
Private Type KeyboardBytes
    kbByte(0 To 255) As Byte
End Type
 
'--------------------------------------------------------
 
Insira um botão de comando e inclua o seguinte código:
 
Private Sub cmdNumLock_Click()
Dim kbArray As KeyboardBytes
   GetKeyboardState kbArray
   'If kbArray.kbByte(VK_NUMLOCK) = 0 Then NUMLOCK is OFF
   'If kbArray.kbByte(VK_NUMLOCK) = 1 Then NUMLOCK is ON
   If kbArray.kbByte(VK_NUMLOCK) = 1 Then
       ' This code simply toggles the CAPSLOCK Key state
       Call keybd_event(vbKeyNumlock, _
                        MapVirtualKey(vbKeyNumlock, 0), _
                        KEYEVENTF_EXTENDEDKEY Or 0, 0)
       Call keybd_event(vbKeyNumlock, MapVirtualKey(vbKeyNumlock, 0), _
                        KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
   End If
Exit Sub
End Sub
 
Prontinho, o código do botão acima pode ser colocado em um timer para que ele faça a verificação constante e mantenha a tecla sempre acionada

MarconeEmoções

 

     
ChicoVieira
não registrado
Postada em 16/10/2005 11:00 hs   
Muito boa a dica. Valeu, cara.
Tks'
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página