这个只要一个事件就行了,但在编写事件前,先要设置属性,最大和最小值.
然后在trackbar1change事件中

解决方案 »

  1.   

    先改Ttrackbar的定义文件,在publised里面加上
    property OnMOuseDown;
    property OnMOuseDown;
    这样就给它加了个鼠标按下的处理,这是最重要的
    编译之后把相关文件记得复制到delphi5\lib目录下面
    然后就简单了,计算一下鼠标坐标就可以了
    这里是代码
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      ComCtrls;type
      TForm1 = class(TForm)
        TrackBar1: TTrackBar;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
            procedure aaa(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);  public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}
    procedure TForm1.aaa(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begintrackbar1.position:=trunc(x/trackbar1.Width*trackbar1.Max)
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      trackbar1.OnMouseDown:=aaa;
    end;end.