CAPS LOCK
COMO FAÇO PARA QUE NO MEU FORM LOAD A TECLA CAPS LOCK FIQUE ATIVADA...? SE TIVER DE USAR API ALGUEM PODE PASSAR O CODIGO...
Se precisa que o USUÃ ÂRIO digite ALGO em CAIXA ALTA... Ativar somente o CAPS não vai RESOLVER seu PROBLEMA.....
Mesmo assim ai vai
Crie um módulo e digite o seguinte código:
Não esqueça de redirecionar a propriedade Startup Object para a Sub Main().
Crie um formulário e nele os seguintes objectos:
Insira o seguinte código.
[/c]
Private Function CapsLock() As Integer
CapsLock = GetKeyState(VK_CAPITAL) And 1 = 1
End Function
[txt-color=#0000ff]Private Sub Form_Load()
If CapsLock() = 1 Then Label1 = "On" Else Label1 = "Off"
End Sub [/txt-color]
Private Sub cmdToggle_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = IIf(kbArray.kbByte(VK_CAPITAL) = 1, 0, 1)
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
Private Sub cmdTurnOn_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 1
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
Private Sub cmdTurnOff_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
[/c]
A função GetKeyState foi utilizada para capturar o status de apenas uma tecla, enquanto que a função Getkeyboardstate foi utilizada para pegar o status de todo o teclado.
O botão 'cmdToggle' inverte a indicação do Caps Lock.
Após digitar o código utilize a caixa de texto para testar o funcionamento...
Até +++
Mesmo assim ai vai
Crie um módulo e digite o seguinte código:
Public Const VK_CAPITAL = &H14
Public Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Public kbArray As KeyboardBytes
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long
Public Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Public Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Sub main()
Form1.Show
End Sub
Não esqueça de redirecionar a propriedade Startup Object para a Sub Main().
Crie um formulário e nele os seguintes objectos:
Botões: cmdToggle, cmdTurnOn e cmdTurnOff;
Label: Label1;
TextBox: Text1.
Insira o seguinte código.
[/c]
Private Function CapsLock() As Integer
CapsLock = GetKeyState(VK_CAPITAL) And 1 = 1
End Function
[txt-color=#0000ff]Private Sub Form_Load()
If CapsLock() = 1 Then Label1 = "On" Else Label1 = "Off"
End Sub [/txt-color]
Private Sub cmdToggle_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = IIf(kbArray.kbByte(VK_CAPITAL) = 1, 0, 1)
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
Private Sub cmdTurnOn_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 1
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
Private Sub cmdTurnOff_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub
[/c]
A função GetKeyState foi utilizada para capturar o status de apenas uma tecla, enquanto que a função Getkeyboardstate foi utilizada para pegar o status de todo o teclado.
O botão 'cmdToggle' inverte a indicação do Caps Lock.
Após digitar o código utilize a caixa de texto para testar o funcionamento...
Até +++
Tópico encerrado , respostas não são mais permitidas