Cambiar (o anular) la acción de "Shift + Enter" dentro de un control

QUE ES LO QUE TENGO: Tengo un formulario con un control de tipo "Memo" donde escribo el descriptivo de algo. Durante la redacción, si quiero al renglón de abajo (siempre dentro del mismo memo), tengo que apretar "Ctrl+Enter".
CUAL ES EL PROBLEMA: si me equivoco y aprieto "Shift+Enter", en lugar de que el cursor baje un renglón, el formulario se da por terminado y se cierra. Eso me complica bastante porque, una vez que el formulario se cerró hay cosas que por seguridad, ya no puedo modificar.
QUE BUSCO HACER / EN QUE PIDO AYUDA: quisiera mediante "KeyPress/KeyDown/KeyUp" (no sé cuales son necesarias) indicar que cuando estoy en el control "Memo", la secuencia "Shift+Enter" haga bajar el cursor un renglón. Si eso no es posible, que al menos "Shift+Enter", no haga nada.
Si me pueden ayudar con el código sería fantástico.

Respuesta
1

No sé como tienes construida tu base, pero no veo la necesidad de la combinación de teclas. Cuando se pone un campo Texto que supera los 60 dígitos y construyes un formulario con, entre otros, ese campo, Access automáticamente le pone en sus propiedades-Otras-Comportamiento de la tecla Entrar - Nueva línea en el campo. Por tanto, si estás escribiendo y quieres pasar a la línea de abajo basta con pulsar Enter.

Ojala fuese así. No sé porque en mi caso no funciona de esa manera y no hice nada especial que afecte la tecla Enter. El control "Memo" tampoco tiene ningún evento indicado.
Cuando aprieto "Enter", no pasa nada (en realidad lo que pasa es que desaparece el cursor titilante y la barra de Scroll vertical del campo Memo). Si quiero bajar el cursor al renglón de abajo, tengo que apretar "Ctrl+Enter"

Icue, gracias. Después de lo que me escribiste y después de lo que te conteste, me fui a mirar nuevamente el formulario, en realidad el control "Memo" en sí.

En las propiedades, la lengüeta "Otras" hay una propiedad (la cuarta) que se llama "Enter Key Behavior" (supongo que en castellano debe ser "Comportamiento de la tecla Enter").
Yo, nunca jamás toco esa propiedad y estaba definida como "Default". La otra posibilidad es definirla como "New Line in the Field" (Nueva línea en el campo).
Cambié el setting de "Default" a "New line in the field" (para el control "Memo") y ahora si se comporta como describiste. Aprieto "Enter" y el cursor se va a la linea de abajo (como es típicamente en Word por ejemplo).
Muchas gracias !

Efectivamente, si la dejas como Default(predeterminada aquí) te funciona como un tabulador, si le pones lo otro, se va a la siguiente línea. De todas formas, si quieres anular la tecla Shift puedes poner en el evento Al bajar una tecla

if keycode=16 then

keycode=0

end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas