Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   asignacion de una tecla a un bitbtn (https://www.clubdelphi.com/foros/showthread.php?t=27100)

seba_cipo 11-11-2005 14:34:03

asignacion de una tecla a un bitbtn
 
hola,,, mi pregusta es como asignarle una tecla a un bitbtn.
hize lo siguiente
en el evento del formulario
FormKeyPress

if key = '1' then
bitbtn
Click(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 !!!!!!!!!!!!!!!!


La franja horaria es GMT +2. Ahora son las 11:34:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi