PDA

Ver la Versión Completa : varias Fn en un mismo formulario


feliz-58
02-08-2013, 22:52:31
Mis saludos para todos en el club.

Tengo la siguiente forma para usar las funciones en un formulario:


If key = vk_F1
Then
Button1.click;

Cual seria la forma para agregar varias funciones?

Intente:


If key = vk_F1
Then
Button1.Click;

If key = vk_F2
Then
Button2.click;


Pero no funciono. Se ejecutan los dos cuando le das a F1.

SALUDOS A TODOS.

ecfisa
02-08-2013, 23:10:03
...
Intente:


If key = vk_F1
Then
Button1.Click;

If key = vk_F2
Then
Button2.click;


Pero no funciono. Se ejecutan los dos cuando le das a F1.

Hola.

Si el form tiene la propiedad KeyPreview = True y ese código está en el evento OnKeyDown del form tiene que funcionar correctamente, llamando al método OnClick de Button1 cuando se presione F1 y OnClick de Button2 cuando se presione F2.

¿ En que evento del form está el código ?

Saludos. :)

ecfisa
02-08-2013, 23:16:28
Hola de nuevo.

Olvidé mencionarte que cuando las teclas a evaluar son muchas es más simple hacerlo de este modo:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case Key of
VK_F1: Button1.Click;
VK_F2: Button2.Click;
VK_F3: Button3.Click;
...
end;
end;


Saludos. :)

feliz-58
02-08-2013, 23:27:25
Hola.

Si el form tiene la propiedad KeyPreview = True y ese código está en el evento OnKeyDown del form tiene que funcionar correctamente, llamando al método OnClick de Button1 cuando se presione F1 y OnClick de Button2 cuando se presione F2.

¿ En que evento del form está el código ?

Saludos. :)

Hice todo eso, pensaba lo mismo pero me hacia el error que te comente.
Saludos!

feliz-58
02-08-2013, 23:28:16
Hola de nuevo.

Olvidé mencionarte que cuando las teclas a evaluar son muchas es más simple hacerlo de este modo:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case Key of
VK_F1: Button1.Click;
VK_F2: Button2.Click;
VK_F3: Button3.Click;
...
end;
end;


Saludos. :)

Excelente, funciono perfectamente.

Gracias.
Saludos!