delphi scrollbox 内 鼠标定位 到 label控件

label控件无法获取焦点,但是 可以 把鼠标 移动过去

比如  自己动态   绘制的  房间 信息  ,如果 房间很多   ,找 房间 很难找,有了这个 函数 搜索房间号 就可以了。

下面就是  按照 房间号 去 遍历 ,并将 鼠标光标  移动到 指定 房间控件上

procedure SearchReport(v: string);
var
  i, j, k: integer;
  r: TPoint;
begin
  if Length(v) >= 2 then
  begin
    for i := 0 to Self.ComponentCount - 1 do
    begin

      if Components[i] is TLabel then
      begin
        if ufun.posex(v, (Components[i] as TLabel).Caption) > 0 then
        begin
//          (Components[i] as TSpeedButton).Click;
          r := (Components[i] as TLabel).ClientOrigin;
          if r.Y > Self.Height then
          begin
          SbModule.VertScrollBar.Position :=  sbModule.VertScrollBar.Position + abs(r.Y-Self.Height);
          r.Y := Self.Height;
          end
          else
          if r.Y < 0 then
          begin
          SbModule.VertScrollBar.Position :=  sbModule.VertScrollBar.Position - abs(r.Y-Self.Height);
          r.Y := 0;
          end;
          SetCursorPos(r.x,r.y);

          break;
        end;
      end;

    end;

  end;

end;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑贝是条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值