Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Derectar Ctrl-Click o Alt-click (https://www.clubdelphi.com/foros/showthread.php?t=65072)

Willo 18-11-2009 16:02:56

Derectar Ctrl-Click o Alt-click
 
Buen dia a todos;

sabe alguien como puedo detectar si el usuario hace click en algun componente o en la forma, mientras mantiene presionada la tecla CTRL o ALT?

Gracias de antemano por sus comentarios

rgstuamigo 18-11-2009 20:38:16

Cita:

Empezado por Willo (Mensaje 346908)
Buen dia a todos;

sabe alguien como puedo detectar si el usuario hace click en algun componente o en la forma, mientras mantiene presionada la tecla CTRL o ALT?

Gracias de antemano por sus comentarios

Pues deberias utilizar el evento OnMouseUp o OnMouseDown de cada uno de tus componentes ,e incluso de tu formulario y poner mas o menos este código:
Código Delphi [-]
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if ((ssCtrl in Shift)and(ssAlt in Shift)and(Button=mbLeft)) then
     ShowMessage('Se ha presiona CTRL+ALT+Click_Izquierdo en un '+Sender.ClassName);
end;
Para ahorrate codigo podrias hacer un solo procedimiento que tenga los mismo parametros y luego asignarselo a cada evento OnMouseUp de todos los componentes y formulario.;)
Saludos...:)

rgstuamigo 18-11-2009 20:55:55

Viendo o repasando tu pregunta veo que solo quieres que sea Alt+Click ó Ctrl+Click pues en ese caso solo cambia la condicion:
Código Delphi [-]
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (ssCtrl in Shift)and(Button=mbLeft) then
     ShowMessage('Se ha presiona CTRL+Click_Izquierdo en un '+Sender.ClassName)
  else
  if (ssAlt in Shift)and(Button=mbLeft)then
     ShowMessage('Se ha presiona ALT+Click_Izquierdo en un '+Sender.ClassName);
end;
Saludos...:)


La franja horaria es GMT +2. Ahora son las 12:37:45.

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