Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Enviar a VK_F1 como parametro (https://www.clubdelphi.com/foros/showthread.php?t=67701)

mRoman 30-04-2010 21:14:16

Enviar a VK_F1 como parametro
 
Hola amigos....aqui de nuevo solicitando su apoyo y orientacion.

Tengo en el evento OnKeyDown programado las teclas de función del F1 al F7, pero ahora el usuario me pidio que en el formulario contenga también botones que hagan referencias a dichas teclas y que obviamente haga lo que tengo programado en el evento OnKeyDown.

Aqui la duda, Al presionar el botón como le hago para pasar como parametro a VK_F1 (por ejemplo) al procedimiento de OnKeyDown?....

no sé si me haya explicado?...

Manejo Delphi6.

Saludos y gracias por su tiempo.

roman 30-04-2010 21:58:24

Código Delphi [-]
var
  Key: Word;

begin
  Key := VK_F1;
  FormKeyDown(Self, Key, []);
end;

Pero, en realidad, no es la forma más correcta de atacar el problema. Lo recomendable sería que usaras un ActionList. A esta componente le agregas acciones, una por cada cosa que quieras hacer. A las acciones les pones como Shortcuts las teclas F1, F2, F3, etc. y a los botones les asocias la acción que corresponda.

// Saludos

mRoman 30-04-2010 22:06:42

Resuelto
 
Cita:

Empezado por roman (Mensaje 362451)
Código Delphi [-]
var
  Key: Word;

begin
  Key := VK_F1;
  FormKeyDown(Self, Key, []);
end;

Pero, en realidad, no es la forma más correcta de atacar el problema. Lo recomendable sería que usaras un ActionList. A esta componente le agregas acciones, una por cada cosa que quieras hacer. A las acciones les pones como Shortcuts las teclas F1, F2, F3, etc. y a los botones les asocias la acción que corresponda.

// Saludos

Ok...gracias por responder....de hecho segui buscando en el foro y me condujo a este hilo
http://www.clubdelphi.com/foros/showthread.php?t=51221

donde vi lo q me propones, bueno mas o menos:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
  var
    Key: Word;
  begin
    Key := vk_f1;
    Edit4KeyDown(Sender, Key, []);
  end;

.....Gracias. Pero porque dices que no es la mejor forma de solucion?....

roman 30-04-2010 22:10:26

Te da más limpieza y flexibilidad en el código. El objetivo de las acciones es el de separar el trabajo duro de la parte visual.

Si mañana el usuario te pide que también quiere ejecutar los "comandos" desde un ítem de menú o desde un botón de una Toolbar, etc., tú nada más tendrías que asignar la acción al nuevo componente.

// Saludos

FGarcia 01-05-2010 17:44:56

Aqui tienes un tutorial sobre TActionManager y algunas otras cosas.


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

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