Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2009
Willo Willo is offline
Miembro
 
Registrado: jun 2006
Posts: 116
Poder: 18
Willo Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 18-11-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por Willo Ver Mensaje
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...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 18-11-2009 a las 20:45:25. Razón: Estética
Responder Con Cita
  #3  
Antiguo 18-11-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

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...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
click en el canvas Haddock Gráficos 4 16-01-2008 16:30:51
CTRL+CLICK No funciona!! marceloalegre Varios 1 16-06-2007 21:39:07
implmentar Articulo click..click..run Crash ASAPLTDA OOP 0 21-01-2006 16:16:08
Click...click. tap. RUN? Crash! Un mejor RAD mamcx Conexión con bases de datos 0 13-04-2005 20:45:35


La franja horaria es GMT +2. Ahora son las 19:26:43.


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
Copyright 1996-2007 Club Delphi