Hallo FriFra,
du könntest das OnClick-Ereignis der StatusBar behandeln und dort aus den Mauskoordinaten einen Zeiger auf das Panel ermitteln:
Delphi-Quellcode:
// uses CommCtrl
function GetStatusPanelAt (SB: TCustomStatusBar; P: TPoint): TStatusPanel;
var
i : Integer;
R : TRect;
begin
P := SB.ScreenToClient(P);
i := 0;
Result := nil;
while ((i < SB.Panels.Count) and (Result = nil)) do
begin
SendMessage(SB.Handle, SB_GETRECT, i, Integer(@R));
if PtInRect(R, P) then
Result := SB.Panels[i];
Inc (i);
end;
end;
procedure TForm1.StatusBar1Click (Sender: TObject);
var
P : TStatusPanel;
begin
P := GetStatusPanelAt(StatusBar1, Mouse.CursorPos);
if Assigned(P) then
ShowMessage (P.GetNamePath);
end;
Gruß Hawkeye