本文整理自网络,侵删。
procedure TForm2.StatusBar1Click(Sender: TObject);
var
mpt: TPoint;
x: integer;
j: integer;
panel: integer;
begin
if (StatusBar1.SimplePanel) OR (StatusBar1.Panels.Count = 0) then
begin
Memo1.Lines.Add('Clicked on a StatusBar, no Panels');
Exit;
end;
mpt := Mouse.CursorPos;
mpt := StatusBar1.ScreenToClient(mpt);
panel := -1;
x := 0;
for j := 0 to StatusBar1.Panels.Count - 1 do
begin
x := x + StatusBar1.Panels[j].Width;
if mpt.x < x then
begin
panel := j;
Break;
end;
end;
if panel = -1 then
panel := -1 + StatusBar1.Panels.Count;
Memo1.Lines.Add(Format('Clicked on StatusPanel %d', [panel]));
end;
相关阅读 >>
Delphi10.3通过json.serializers单元对大量数据序列化
decodedate:从一个tdatetime变量中提取年、月、日数值
Delphi 通过 arp 协议获取局域网内指定 ip 地址的机器的 mac 地址
更多相关阅读请进入《Delphi》频道 >>