Saber si la tecla bloq mayus esta activada

28/07/2006 - 16:33 por Marco Elgueta | Informe spam
Hola a todos, como puedo saber si la opción de escritura en mayuscula esta
activada asi poder advertir al usuario con un mensaje. Es lo mismo que hace
el messenger cuando uno debe ingresar la clave. En resumen, saber si el BLOQ
MAYUS esta activada. Gracias de ante mano.

Preguntas similare

Leer las respuestas

#6 Marco Elgueta
28/07/2006 - 20:29 | Informe spam
Ya pero como lo hago para mostrar este mensaje con solo pulsar la tecla en el
formulario. O sea una cosas asi:

Private Sub frmAcceso_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim Tmp As Object = GetKeyState(20)
If Tmp = 1 Then
Me.lblBloqMayus.Text = "Bloq Mayús está activado"
Else
Me.lblBloqMayus.Text = Nothing
End If
End Sub

pero en vez de ser load, algo asi como un keypress.

"SoftJaén" wrote:

"Marco Elgueta" escribió:

> Tengo VB.NET 2003 y copie los dos codigos pero en los dos
> me dice que el tipo no esta definido. Como lo puedo hacer?

En Visual Basic 2003 tienes que recurrir al método tradicional: la API de
Windows.

Private Declare Auto Function GetKeyState Lib "user32" ( _
ByVal nVirtKey As Integer) As Integer

Ahora, en cualquier evento incluye lo siguiente:

Const VK_CAPITAL As Integer = &H14

' Comprobamos el estado de la tecla virtual perteneciente
' al bloque mayúscula.
Dim capsLock As Integer = GetKeyState(VK_CAPITAL)

' Si la función devuelve 1, significa que la tecla está
' encendida, y si devuelve 0 está apagada.
'
If capsLock = 0 Then
MessageBox.Show("El bloque mayúscula está desactivado.")
ElseIf capsLock = 1 Then
MessageBox.Show("El bloque mayúscula está activado.")
End If

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.



Respuesta Responder a este mensaje
#7 SoftJaén
28/07/2006 - 20:44 | Informe spam
"Marco Elgueta" preguntó:

pero como lo hago para mostrar este mensaje con solo pulsar la tecla en el
formulario. O sea una cosas asi:

pero en vez de ser load, algo asi como un keypress.



En otra conversación, te acabo de contestar lo que tienes que hacer para
comprobar el estado del bloque mayúscula, o de cualquier otra tecla, sin
necesidad de ejecutar el código en el evento Load del formulario, o en
cualquier evento Click de un control: ejecuta el código en el evento «Tick»
de un control Timer.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#8 Lord Voldemort
29/07/2006 - 02:09 | Informe spam
man..

porque no mejor conviertes a minuscula todo lo que el usuario escriba...



"Marco Elgueta" wrote in message
news:
Ya pero como lo hago para mostrar este mensaje con solo pulsar la tecla en
el
formulario. O sea una cosas asi:

Private Sub frmAcceso_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim Tmp As Object = GetKeyState(20)
If Tmp = 1 Then
Me.lblBloqMayus.Text = "Bloq Mayús está activado"
Else
Me.lblBloqMayus.Text = Nothing
End If
End Sub

pero en vez de ser load, algo asi como un keypress.

"SoftJaén" wrote:

"Marco Elgueta" escribió:

> Tengo VB.NET 2003 y copie los dos codigos pero en los dos
> me dice que el tipo no esta definido. Como lo puedo hacer?

En Visual Basic 2003 tienes que recurrir al método tradicional: la API de
Windows.

Private Declare Auto Function GetKeyState Lib "user32" ( _
ByVal nVirtKey As Integer) As Integer

Ahora, en cualquier evento incluye lo siguiente:

Const VK_CAPITAL As Integer = &H14

' Comprobamos el estado de la tecla virtual perteneciente
' al bloque mayúscula.
Dim capsLock As Integer = GetKeyState(VK_CAPITAL)

' Si la función devuelve 1, significa que la tecla está
' encendida, y si devuelve 0 está apagada.
'
If capsLock = 0 Then
MessageBox.Show("El bloque mayúscula está desactivado.")
ElseIf capsLock = 1 Then
MessageBox.Show("El bloque mayúscula está activado.")
End If

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o
sugerido en el presente mensaje.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida