我无法将TTrackBar拇指大小调整为更大的大小。见图片:



我的左侧有一个小拇指,但不能使其变大(但TrackBar本身没有)。
所需的拇指大小显示在带有红色区域的图像上。
也许我可以某种方式使用WINAPI?
C ++应用程序经常有更大的经验。

这就是我真正想要的:

最佳答案

似乎无法使用标准轨迹栏控件来完成。确实,我看不到与此相关的任何trackbar styletrackbar message。只有TBM_SETTHUMBLENGTH,您也可以从VCL的TTrackBar.ThumbLength访问,但是这也会影响背景下陷矩形的高度。

一个必然的结果是,我怀疑“ C ++应用程序经常有更大的经验”的说法。

当然,您始终可以创建your own trackbar-like control

还是只想缩小下陷的矩形?然后只需在对象检查器中将ShowSelRange设置为False。但是,如果启用了主题,则您的拇指不能大于约24。

如果您使用的是不带TrackBar.ShowSelRange的Delphi旧版本,则需要手动删除窗口样式TBS_ENABLESELRANGE。您可以随时使用SetWindowLong进行此操作,也可以在子类轨迹栏控件的CreateParams中进行此操作。最简单的方法可能是使用“插入器类”:

type
  TTrackBar = class(ComCtrls.TTrackBar)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

...
implementation

{ TTrackBar }

procedure TTrackBar.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style and not TBS_ENABLESELRANGE;
end;


若要使外观出现在Notepad ++屏幕快照中,还应将TickMarks设置为tmBoth,将TickStyle设置为tsNone

但是,这不能回答您的问题,该问题是使拇指变大。这将使下沉的矩形变小...但是,从您的屏幕截图中,我想这就是您想要的。

09-06 05:38