Ver Mensaje Individual
  #4  
Antiguo 18-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Se me ocurrió otra forma de realizar lo mismo y que evita las múltiples asignaciones al evento OnClick de los TPanel:
Código Delphi [-]
...
implementation

var
  PrevWinCtrl: TWinControl;

procedure TForm1.MouseEvent(var Msg: TMsg; var Handled: Boolean);
var
  Ctrl : TWinControl;
begin
  if Msg.message =  WM_LBUTTONDOWN then
  begin
    Ctrl := FindVCLWindow(Mouse.CursorPos);
    if Assigned(Ctrl) and (Ctrl is TPanel) then
    begin
      if Assigned(PrevWinCtrl) then
        TPanel(PrevWinCtrl).Color := clBtnFace; 
      TPanel(Ctrl).Color := clRed;
      PrevWinCtrl := TWinControl(Ctrl);
    end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Application.OnMessage := MouseEvent;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-02-2013 a las 20:11:59. Razón: ortografía
Responder Con Cita