elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  textbox keypress (shift)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: textbox keypress (shift)  (Leído 5,233 veces)
Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
textbox keypress (shift)
« en: 10 Septiembre 2006, 20:28 pm »

hola, estoy haciendo una especie de chat, en donde tengo un textbox, y un boton (para enviar)
el textbox quiero que sea multilinea, pero que al presionar ENTER, se envie lo que esta escrito.. y que para pasar a la linea de abajo, haya que apretar el shift, seguido del enter (exactamente igual que el msn)

el codigo que tengo es este

Código:
Private Sub txtText_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    btnEnviar_Click
    KeyAscii = 0
End If
End Sub

bien, lo que hace eso es evaluar cual tecla es presionada, si la tecla es el enter, envia la info.. ahora, como puedo hacer para saber, si al apretar la tecla enter, se esta presionando la tecla shift?
gracias :)


En línea

elmaro


Desconectado Desconectado

Mensajes: 301


Unas simples palabras...


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #1 en: 10 Septiembre 2006, 21:39 pm »

cual es el valor aascii de la tecla shift???
el valor es 16 xD
 bueno podrias hacer asi:

Código:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Timer1_Timer()
   If GetKeyState(13) < 0 And GetKeyState(16) < 0 Then
     
      Text1.Text = Text1.Text & vbCrLf
      Text1.SelStart = Len(Text1.Text)
     
   End If
End Sub


enecesitas un timer,. el cual tiene un interval de 1 o 10, verifica los resultados


« Última modificación: 10 Septiembre 2006, 21:49 pm por elmaro » En línea

ReViJa

Desconectado Desconectado

Mensajes: 149


Ver Perfil WWW
Re: textbox keypress (shift)
« Respuesta #2 en: 10 Septiembre 2006, 21:51 pm »

Prueba esto y nos cuentas..

Código:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

If Shift = 1 And KeyCode = 13 Then Debug.Print "Shift"
If Shift = 2 And KeyCode = 13 Then Debug.Print "Ctrl"
If Shift = 4 And KeyCode = 13 Then Debug.Print "Alt"
If Shift = 6 And KeyCode = 13 Then Debug.Print "Alt Gr"

End Sub
En línea

Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #3 en: 10 Septiembre 2006, 22:10 pm »

gracias elmaro, pero como la aplicacion no es solamente una ventana de chat, hay otras opciones y no quiero cumplicarme con timers y esas cosas, es que soy medio novato en esto..

Prueba esto y nos cuentas..

Código:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

If Shift = 1 And KeyCode = 13 Then Debug.Print "Shift"
If Shift = 2 And KeyCode = 13 Then Debug.Print "Ctrl"
If Shift = 4 And KeyCode = 13 Then Debug.Print "Alt"
If Shift = 6 And KeyCode = 13 Then Debug.Print "Alt Gr"

End Sub

parece interesante, pero no entendi nada  ;D
En línea

elmaro


Desconectado Desconectado

Mensajes: 301


Unas simples palabras...


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #4 en: 10 Septiembre 2006, 22:17 pm »

shift representa las teclas "Shift", "Control", "Alt" y "Alt Gr"(el orto alt:P)

KeyCode representa la tecla presionada, y segun que teclas que entran en shift presiones mas la tecla markada en keycode[enter(13)] en la ventana Inmediate te va a mostrar que tecla precionaste junto al enter
En línea

Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #5 en: 10 Septiembre 2006, 22:23 pm »

claro, pero mi pregunta es: como adapto eso a lo que necesito  :rolleyes:
En línea

elmaro


Desconectado Desconectado

Mensajes: 301


Unas simples palabras...


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #6 en: 10 Septiembre 2006, 22:47 pm »

podrias poner asi:
Código:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

If Shift = 1 And KeyCode = 13 Then ' si es shift y enter

Text1.Text = Text1.Text & vbCrLf
Text1.SelStart = Len(Text1.Text)

End If

End Sub


debes remplazar todo lo que dice Text1 por el nombre de tu textbox ovbiamente
En línea

Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #7 en: 10 Septiembre 2006, 23:19 pm »

buenisimo, muchas gracias.

ya que estamos queria preguntar otra cosa.. hay alguna manera de ocultar un componente, por ejemplo tengo un picturebox arriba de otro, pero necesito trabajar sobre el que esta abajo, tengo que correrlo si o si?
quizas hay alguna opcion de hide seleccion o algo asi.. gracias
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #8 en: 10 Septiembre 2006, 23:43 pm »

En mi opinión es mas fácil que en vez de usar la tecla shift uses la tecla ctrl porque control + enter se corresponde al código ascii CR (esto es el código ascii 10).

Y como tal no tienes ni que programarlo puesto que cuando lo imprimes en pantalla salta de línea.

Un saludo
En línea

Callar es asentir ¡No te dejes llevar!
Wdeah

Desconectado Desconectado

Mensajes: 76


Ver Perfil
Re: textbox keypress (shift)
« Respuesta #9 en: 10 Septiembre 2006, 23:49 pm »

es verdad, no lo sabia.. que buen dato. bueno, siempre pense que mientras menos codigo mejor  :P
que se aprete el control entonces!  ;D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Keypress en juegos Directx
Programación Visual Basic
•ceppiN 2 2,422 Último mensaje 18 Febrero 2013, 03:42 am
por •ceppiN
Duda evento KeyPress del TextBox
Programación Visual Basic
Zodiak98 1 1,954 Último mensaje 10 Mayo 2013, 04:45 am
por XresH
problema con eventos keypress en c#
Dudas Generales
makorro 3 2,842 Último mensaje 21 Octubre 2013, 21:12 pm
por Eleкtro
Duda Script parametro+shift
Scripting
ashtreelane 0 1,679 Último mensaje 25 Noviembre 2016, 18:12 pm
por ashtreelane
keypress javascript
Desarrollo Web
Shester1996 3 3,033 Último mensaje 2 Marzo 2021, 00:09 am
por UnaiiM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines