当前位置 : 主页 > 编程语言 > delphi >

delphi – 我如何知道何时停止滚动TScrollBar?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我已经使用了一些带滚动条的程序,当你还在拖动“拇指”时更新链接的内容,而其他程序在你释放鼠标之前不会.这意味着此处涉及不同类型的 Windows消息.但是我从TScrollBar中找到的只是一
我已经使用了一些带滚动条的程序,当你还在拖动“拇指”时更新链接的内容,而其他程序在你释放鼠标之前不会.这意味着此处涉及不同类型的 Windows消息.但是我从TScrollBar中找到的只是一个OnScroll事件,在你拖动的时候不断激活.它也没有OnMouseDown或OnMouseUp事件.有没有办法为TScrollBar设置“OnEndDragging”通知? 尝试使用此代码(使用Delphi 2009测试),当您跟踪拇指时,它将使用随机颜色填充表单客户端区域,并在拇指释放时将其填充为黄色:

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  Randomize;
  if ScrollCode = scTrack then
    Color := RGB(Random(256), Random(256), Random(256));
  if ScrollCode = scEndScroll then
    Color := clYellow;
end;

TScrollCode值映射到您将为WM_HSCROLL和WM_VSCROLL记录的WPARAM值.

网友评论