PDA

Ver la Versión Completa : asignacion de una tecla a un bitbtn


seba_cipo
11-11-2005, 14:34:03
hola,,, mi pregusta es como asignarle una tecla a un bitbtn.
hize lo siguiente
en el evento del formulario
FormKeyPress

if key = '1' then
bitbtnClick(bitbtn);

el problema q tengo con esto es q necesito hacer click con el mouse al menos una vez sobre el boton(bitbtn) para q funcione este codigo,,
si no lo hago,, cuando aprieto la tecla 1 no entra en el evento formkeypreess de mi formulario
mi formulario es de tipo formstyle fsMDIChild por si esto tiene algo q ver

desde ya muchas gracias por su ayuda :confused::confused::confused:

Lepe
11-11-2005, 15:03:20
Tienes varias formas:
-asegurate de que el foco (la primera vez) está en algún control o en el mismo Form (Form.SetFocus). Si estableces Form.KeyPreview a true, siempre va a pulsar el bitbtn aún cuando el foco lo tenga otro control. más que "1" yo le pondría la tecla "F1"

- Utilizar un TActionList, y por ahí introducir los ShortCuts, o teclas rápidas, así evitarías tener que controlarlo todo en el KeyDown o KeyPress.

saludos

yusnerqui
11-11-2005, 15:06:41
A menos que no hallas establecido a True la propiedad KeyPreview del form no veo razón para ese comportamiento, incluso acabo de hacer la prueba en Delhpi7 y trabaja magníficamente.

Saludos Yusnerqui

Lepe
11-11-2005, 15:19:52
Ultimamente, cada vez me expreso peor, lo reconozco :D.

Con keyPreview a true, si escribe un 1 en un Tedit, tambien se va a ejecutar el código del KeyDown del Form.

De ahí mi sugerencia para usar "F1...F12"

saludos

seba_cipo
11-11-2005, 15:27:39
muchas gracias !!!!!!!!!!!!
lo resolvi poniendo la propiedad keypreview en true... me faltaba eso,, la verdad no sabia q la tenia q tener habilitada esa propiedad
muchas gracias lepe y yusnerqui por su ayuda !!!!!!!!!!!!!!!!