Pregunta: | 65 - COMO IMPEDIR PEGAR TEXTO EN UN CUADRO DE TEXTO |
Autor: | Hernando |
Quizás no he leído bien los manuales pero aquí va. ¿Como puedo hacer en Visual Basic para que un cuadro para ingresar texto no acepte alguna palabra guardada en el portapapeles? Es decir, impedir que yo "corte" desde algún documento una palabra y luego la "pege" en un cuadro de texto. |
Respuesta: | rafael sanchez |
hola, creo que con las anteriores respuestas podrian pegarlas con el raton y punto, sin contar que use control+v para pegar, o algun boton especial de los teclados multimedia.
si quieres evitar q peguen algo que no sea tecleando, prueba lo siguiente: Private Sub Text1_Change() If Len(Text1.Text) > Len(Text1.Tag) + 1 Then Text1.Text = Text1.Tag Text1.Tag = Text1.Text End Sub de esta forma solo podran pegar una unica letra o teclear una a una. ten en cuenta que no puedes filtrar solo las letras, ya que impedirias usar el retroceso, el suprimir, inicio, tabulador, etc. de esta forma, las demas teclas siguen funcionales, y puedes modificar el texto agregando o barrando letras (o palabras seleccionadas, puesto que solo anula si se introducen mas de una sola letra por vez, pero no las supresiones) |
Respuesta: | CHRISTIAN GONZALEZ |
el cuadro de texto -TEXTBOX- posee una propiedad que se llama
LOCKED, figura tanto en tiempo de diseño como de ejecución eso impide que se modifique el contenido del TEXT, ponela a True cuando quieras evitar pegar algo y en False cuando si lo quieras. PUNTO.- |
Respuesta: | manuel Romero |
para bloquear un cuadro de texto coloca la propiedad Locked igual a True |
Respuesta: | Manuel Camúñez Guijarro |
Y digo yo... Porqué no usas una Etiqueta en lugar de Un Cuadro de Texto y PUNTO. |
Respuesta: | Roberto Morales |
¡¡¡¡¡Tengo la solución!!!!!!: coloca en el evento del texto el siguiente código Text1_Click() Clipboard.Clear end sub -Esto es para que al momento que den click en el cuado y deseen insertar el protapapeles no lo puedan hacer puesto que no existe, ahora que si no quieres que el portapapeles sea perdido, declara una variable de texto como publica, inserta esto: x=Clipboard.GetText() ´ esto es para guardar el ´portapapeles en la variable y que no se pierda y luego clipboard.clear´ esto es para borrar el portapapeles |
Respuesta: | LuisR |
Se me ocurre una solucion muy sencilla para tu problema:Private Sub TuCuadroDeTexto_GotFocus()Como antes de pegar hay que cortar en algún sitio, cunado se vuelva a TuCuadroDeTexto este recibe el Focus, se genera el evento GotFocus y ejecutará el código. Lo que no impedirás así es que se corte y pegue dentro de TuCuadroDeTexto, pero este no parece ser tu problema...
|
Respuesta: | Ramón |
He supuesto que si no quieres pegar texto procedente del portapapeles, no tienes ningún menú de ´pegar´ en tu aplicación, y por tanto la única manera de pegar texto es con las teclas SHIFT+INSERT. Para evitarlo puedes incluir el siguiente código en el evento ´KeyDown´ de tu cuadro de texto:Sub CuadroDeTexto_KeyDown (KeyCode As Integer, Shift As Integer)El evento ´KeyDown´ tiene dos par metros: |
Respuesta: | Juan De La Cruz |
Dudo mucho que logres impedirlo, a menos que te metas con la cola de mensajes del Windows, pero si deseas evitarlo solo por el hecho de validar la entrada de datos, pues simple cuando suceda el evento change checas la información contenida y eliminas la basura!!!! |