Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como asignar letra del teclado a radio buttons en delphi 2010 (https://www.clubdelphi.com/foros/showthread.php?t=66898)

RedVenom 17-03-2010 22:16:10

como asignar letra del teclado a radio buttons en delphi 2010
 
:confused: como asignarle una letra del teclado a un radio button para que al momento de presionarla se selccione la opcion del radio button que corresponda pero hace tiempo ya hice la pregunta y ya lo habia resuelto pero resulta que ahora que lo quiero hacer en Delphi 2010 no funciona en esta version de Delphi les dejo el codigo y denme su opinion donde debe ir el codigo o como le puedo hacer en esta version espero su ayuda les doy las gracias de antemano
Código PHP:

procedure TForm1.FormKeyDown(SenderTObject; var KeyWord;
  
ShiftTShiftState);
begin
  
if key ord('A'then
  begin
    RadioButton1
.SetFocus
  
end;
 
  if 
key ord('B'then
  begin
    RadioButton2
.SetFocus;
  
end;
 
  if 
key ord('C'then
  begin
    RadioButton3
.SetFocus;
  
end;
 
  if 
key ord('D'then
  begin
    RadioButton4
.SetFocus;
  
end;
end


BrunoBsso 17-03-2010 23:17:20

Lo que estás buscando se llama HotKey.
Fijate este enlace y tambíen este otro así te das una buena idea ;)
Saludos!

PD: usá las etiquetas [ delphi ] y [ / delphi ] para el código delphi, no uses las PHP.

roman 18-03-2010 01:53:20

Algo que puees hacer también, es anteponer un & a una de las letras de cada RadioButton, la que quieras que funcione como atajo. Por ejemplo, si pones tus RadioButton así:



donde el Caption del primero es "&A RAdioButton1", el segundo "&B RAdioButton2", etc. Al oprimir A, B, C, o D se seleccionará el RadioButton correspondiente, excepto, claro, si el foco del teclado lo tiene algún componente de edición, como un Edit. En esos casos, basta que presiones Alt+Letra para hacer la selección.

// Saludos

BrunoBsso 18-03-2010 02:26:30

Algo que usé muchas veces fue un MenuBar, haciéndole una sección Archivo con distintos Items y a cada item le asignaba, en la propiedad ShortCut, una letra o conjunto de teclas (Shift+A por ejemplo). Después, en el evento OnClick de cada item le deciía que hacer (por ejemplo, seleccionar uno de esos RadioButton).
Cuando tenía todo listo, al MenuBar le ponía la propiedad Visible en false y listo, era un HotKey casero.
Espero que se entienda, sino lo hago y mando capturas.
Saludos!

PD: de esta forma no importa dónde esté el foco, funciona igual.

roman 18-03-2010 02:31:47

Para la técnica del MenuBar también podrías usar un ActionList, que es un componente no visual y muy útil para centralizar acciones.

// Saludos

BrunoBsso 18-03-2010 03:50:07

Fijate vos que con el largo tiempo que uso Dlephi, nunca usé los ActionList :confused:
Pero ni siquiera para probarlos.
Ahora mismo les hecho una ojeada porque realmente jamás los usé ni los vi en acción.
Después cuento acá mismo mi experiencia a ver si le ayuda al dueño del hilo.
Saludos!

EDITO:
Acabo de probar el TActionList como sugirió Roman. Es lo que se necesita y más.
Tenés atajos (ShortCut) predeterminados como Ctrl+M y todo eso (o sea, no letras ni números, creo que solo los no imprimibles) y además tenes una propiedad que se llama SecondaryShortCut o algo así que es de tipo TStrings donde podés agregar atajos vos mismo (más de uno) que sean la letra o el número que quieras.
¡BUE-NI-SI-MO!
Se agradece Roman :)

roman 18-03-2010 05:36:03

Je, je. Imaginé que te gustarían. Realmente los ActionList son muy potentes y van más allá de los atajos. Una Action se puede asociar a un botón, un item de un menú, etc. De esta manera, puedes tener varios elementos visuales que ejecuten la misma acción sin tener que programar el evento OnClick de cada uno; sólo el del Action.

Además, mediante el evento OnUpdate del ActionList, puedes establecer si una acción está habilitada o inhabilitada según las circunstancias y todos los elementos visuales cambian su apariencia acordemente de forma automática. Si cambias el Caption o el Hint de una acción, cambia para todos los elementos conectados.

O sea, son una pieza fundamental para centralizar las acciones de tu programa junto con la interfaz visual y te permiten un código más limpio.

// Saludos

RedVenom 20-03-2010 07:17:05

disculpen mi ignorancia pero me pueden orientar dandome un ejemplo con el actionlist y el hotkey??
Por favor


La franja horaria es GMT +2. Ahora son las 05:50:38.

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