TrackBar,
设置为tboVertical后,
上端显示为0,下面显示为200,
怎么让数值大的在上面。

解决方案 »

  1.   

    如果是简单使用的话, 可以这样救急
    1 在dev安装目录下找出cxtrackbar.pas文件拷贝到你的项目文件夹下
    2 项目中加入该文件
    3 打开cxtrackbar.pas文件进行如下修改//第一步:
    //找到这个方法
    procedure TcxCustomTrackBarViewInfo.DrawTicks(ACanvas: TcxCanvas);修改这句
    //  for I := Min to Max do //修改前
      for I := Max downto Min do//修改后
    //第二步, GetTickOffset函数改成下边的:
      function GetTickOffset(AIndex: Integer): Integer;
      begin
    //    Result := Round(TickOffset * (AIndex - Min)) + (ThumbSize div 2);
        Result := Round(TickOffset * (Max - AIndex - Min)) + (ThumbSize div 2);
      end;//第三步, 外部提取cxTrackBar1.Position时加控制, 如下
    caption := IntToStr(cxTrackBar1.Properties.Max - cxTrackBar1.Position);
    这样处理比较简单快速
    如果要更强大的功能, 就比较麻烦(改的代码较多)