在TStatusBar中检测面板双击

时间:2010-03-02 18:02:16  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:PanelRect: TRect;lp0 : integer;SB : TStatusBar;beginif Assigned(sender) thenbeginif Sender is TStatusBar thenbeginGetCursorPos(MouseCor);SB := TStatusBar(Sender);for lp0 := 0 to SB.Panels.Count-1 dobeginSendMessage(S...
  正文:下面的代码,展示了如何在一个包含多个panel的状态栏中检测其中某个Panel受到鼠标双击。别忘了在单元的uses部分加上对CommCtrl的引用。

procedure TMainForm.StatusBar1DblClick(Sender: TObject);

var MouseCor : TPoint;

PanelRect: TRect;

lp0 : integer;

SB : TStatusBar;

begin

if Assigned(sender) then

begin

if Sender is TStatusBar then

begin

GetCursorPos(MouseCor);

SB := TStatusBar(Sender);

for lp0 := 0 to SB.Panels.Count-1 do

begin

SendMessage(SB.Handle, SB_GETRECT, lp0, Integer(@PanelRect));

if PtInRect(PanelRect,SB.ScreenToClient(MouseCor)) then begin

// 在这里添加处理代码

// SB.Panels[lp0]被点击

break;

end;

end;

end;

end;

end;

在TStatusBar中检测面板双击》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12998.html


关键字:

关于《在TStatusBar中检测面板双击》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td