| 
	
		|  Autor | Tema: textbox keypress (shift)  (Leído 5,702 veces) |  
	| 
			| 
					
						| Wdeah 
								
								 Desconectado 
								Mensajes: 76
								
								
								
								
								
								   | 
 
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, halla que apretar el shift, seguido del enter (exactamente igual que el msn) el codigo que tengo es este 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 
								Mensajes: 301
								
								 
								Unas simples palabras...
								
								
								
								
								
								   | 
 
cual es el valor aascii de la tecla shift??? el valor es 16 xD  bueno podrias hacer asi: Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As IntegerPrivate 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 | 
 
Prueba esto y nos cuentas.. 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 
								Mensajes: 76
								
								
								
								
								
								   | 
 
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.. 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    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| elmaro 
								 
								
								 Desconectado 
								Mensajes: 301
								
								 
								Unas simples palabras...
								
								
								
								
								
								   | 
 
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 
								Mensajes: 76
								
								
								
								
								
								   | 
 
claro, pero mi pregunta es: como adapto eso a lo que necesito    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| elmaro 
								 
								
								 Desconectado 
								Mensajes: 301
								
								 
								Unas simples palabras...
								
								
								
								
								
								   | 
 
podrias poner asi: 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 
								Mensajes: 76
								
								
								
								
								
								   | 
 
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 
								Mensajes: 3.592
								 
								Debian rool'z
								
								
								
								
								
								   | 
 
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 
								Mensajes: 76
								
								
								
								
								
								   | 
 
es verdad, no lo sabia.. que buen dato. bueno, siempre pense que mientras menos codigo mejor    que se aprete el control entonces!    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Keypress en juegos Directx Programación Visual Basic
 | •ceppiN | 2 | 2,653 |  18 Febrero 2013, 03:42 am por •ceppiN
 |  
						|   |   | Duda evento KeyPress del TextBox Programación Visual Basic
 | Zodiak98 | 1 | 2,108 |  10 Mayo 2013, 04:45 am por XresH
 |  
						|   |   | problema con eventos keypress en c# Dudas Generales
 | makorro | 3 | 3,196 |  21 Octubre 2013, 21:12 pm por Eleкtro
 |  
						|   |   | Duda Script parametro+shift Scripting
 | ashtreelane | 0 | 1,888 |  25 Noviembre 2016, 18:12 pm por ashtreelane
 |  
						|   |   | keypress javascript Desarrollo Web
 | Shester1996 | 3 | 3,633 |  2 Marzo 2021, 00:09 am por UnaiiM
 |    |