Hola,
Estoy mirando de implementar los aceleradores en los botones de las
buttonbars. Por lo que tengo entendido la idea será atrapar el evento
onkeydown del formulario que contiene la toolbar y, desde ahí, llamar a el
evento onclick del botón 'pulsado'. Entonces tengo algunas dudas:
a. ¿Hay alguna forma rápida de saber cuales son los aceleradores de
oToolbar:aButtons?
b. ¿Hay alguna convención respecto a la prioridad de los aceleradores cuando
existe el mismo en diferentes controles? p.e. el acelerador ALT+A está en el
menú del formulario y tambien en el botón de aceptar del mismo formulario.
c. ¿El evento OnKeyDown se dispara antes o después de los 'aceleradores
nativos de windows'?
Saludos y gracias,
José Luis Capel
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Toolbar y aceleradores (ALT+xx)
Toolbar y aceleradores (ALT+xx)
José Luis,
> a. ¿Hay alguna forma rápida de saber cuales son los aceleradores de
> oToolbar:aButtons?
Directamente no. Tendrías que revisar todo el array aItems buscando
caracteres & dentro de sus propiedades cText.
> b. ¿Hay alguna convención respecto a la prioridad de los aceleradores
> cuando existe el mismo en diferentes controles? p.e. el acelerador ALT+A
> está en el menú del formulario y tambien en el botón de aceptar del mismo
> formulario.
Primero se disparan los aceleradores de los controles, y por último los del
menú.
> c. ¿El evento OnKeyDown se dispara antes o después de los 'aceleradores
> nativos de windows'?
Los mensajes que se disparan con los aceleradores no son WM_KEYDOWN y
WM_CHAR, sino WM_SYSKEYDOWN y WM_SYSCHAR, por lo tanto, OnKeyDown no se
dispara.
--
Un saludo,
José F. Giménez
http://www.xailer.com
> a. ¿Hay alguna forma rápida de saber cuales son los aceleradores de
> oToolbar:aButtons?
Directamente no. Tendrías que revisar todo el array aItems buscando
caracteres & dentro de sus propiedades cText.
> b. ¿Hay alguna convención respecto a la prioridad de los aceleradores
> cuando existe el mismo en diferentes controles? p.e. el acelerador ALT+A
> está en el menú del formulario y tambien en el botón de aceptar del mismo
> formulario.
Primero se disparan los aceleradores de los controles, y por último los del
menú.
> c. ¿El evento OnKeyDown se dispara antes o después de los 'aceleradores
> nativos de windows'?
Los mensajes que se disparan con los aceleradores no son WM_KEYDOWN y
WM_CHAR, sino WM_SYSKEYDOWN y WM_SYSCHAR, por lo tanto, OnKeyDown no se
dispara.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Toolbar y aceleradores (ALT+xx)
José,
Gracias por tu respuesta-
>
>> c. ¿El evento OnKeyDown se dispara antes o después de los 'aceleradores
>> nativos de windows'?
>
> Los mensajes que se disparan con los aceleradores no son WM_KEYDOWN y
> WM_CHAR, sino WM_SYSKEYDOWN y WM_SYSCHAR, por lo tanto, OnKeyDown no se
> dispara.
>
Entonces... si no entiendo mal, para capturar los aceleradores ¿debo
sobreescribir los métodos WMSYSKEYDOWN y WMSYSCHAR del formulario?
Saludos y gracias,
José Luis Capel
Gracias por tu respuesta-
>
>> c. ¿El evento OnKeyDown se dispara antes o después de los 'aceleradores
>> nativos de windows'?
>
> Los mensajes que se disparan con los aceleradores no son WM_KEYDOWN y
> WM_CHAR, sino WM_SYSKEYDOWN y WM_SYSCHAR, por lo tanto, OnKeyDown no se
> dispara.
>
Entonces... si no entiendo mal, para capturar los aceleradores ¿debo
sobreescribir los métodos WMSYSKEYDOWN y WMSYSCHAR del formulario?
Saludos y gracias,
José Luis Capel
Toolbar y aceleradores (ALT+xx)
José Luis,
> Entonces... si no entiendo mal, para capturar los aceleradores ¿debo
> sobreescribir los métodos WMSYSKEYDOWN y WMSYSCHAR del formulario?
Sí, pero ten cuidado al hacerlo. Deberás retornar 0 si procesas un
acelerador concreto, y deberás llamar al método Super en caso contrario para
que Xailer pueda seguir procesando las teclas.
--
Un saludo,
José F. Giménez
http://www.xailer.com
> Entonces... si no entiendo mal, para capturar los aceleradores ¿debo
> sobreescribir los métodos WMSYSKEYDOWN y WMSYSCHAR del formulario?
Sí, pero ten cuidado al hacerlo. Deberás retornar 0 si procesas un
acelerador concreto, y deberás llamar al método Super en caso contrario para
que Xailer pueda seguir procesando las teclas.
--
Un saludo,
José F. Giménez
http://www.xailer.com