Ver Mensaje Individual
  #3  
Antiguo 21-09-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola, quizá no sea tan chorra la pregunta. Yo al menos no lo he conseguido.

Yo lo que uso es lo siguiente:
- Los panels tienen una anchura definida y fija.
- El evento OnMouseDown te da la posición X e Y relativa al StatusBar donde se ha hecho en click.

Yo normalmente gestiono el primer panel para ejecutar eventos, así que aquí te dejo un ejemplo como el que uso.

Código Delphi [-]
procedure TForm1.StatusBar1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if x <= StatusBar1.panels[0].Width then begin
    .... hacemos lo que queramos
  end;
end;

Si la X es mayor que la anchura del Panel 0 pues pertenece a otro panel y habría que hacer la comprobación, y no sería mucho más complicado.

Espero te sirva.

Saludos
Responder Con Cita