亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qiloggauge.pas

?? Iocomp Ultra Pack v3.0.2 Sources.For.Delphi 數據顯示編程插件,可用于工業控制
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
{*******************************************************}
{                                                       }
{       TiLogGauge Component                            }
{                                                       }
{       Copyright (c) 1997,2003 Iocomp Software         }
{                                                       }
{*******************************************************}
{$I iInclude.inc}

{$ifdef iVCL}unit  iLogGauge;{$endif}
{$ifdef iCLX}unit QiLogGauge;{$endif}

interface
                                                           
uses
  {$I iIncludeUses.inc}
  {$IFDEF iVCL} iTypes,  iGPFunctions,  iMath,  iGaugePointer,  iGaugeComponent;{$ENDIF}
  {$IFDEF iCLX}QiTypes, QiGPFunctions, QiMath, QiGaugePointer, QiGaugeComponent;{$ENDIF}

type
  TiLogGauge = class(TiGaugeComponent)
  private
    FBarRect              : TRect;

    FOrientation          : TiOrientation;
    FOrientationTickMarks : TiOrientationSide;
    FEndsMargin           : Integer;
    FShowTicksAxis        : Boolean;
    FTickLabelStyle       : TiLogLabelStyle;
    FReverseScale         : Boolean;

    FMouseDownX           : Integer;
    FMouseDownY           : Integer;
    FOldCurrentValue      : Double;
    FOnAutoSize           : TNotifyEvent;
    FPointerOverlap       : Integer;
    FAutoCenter           : Boolean;
    FCenterOffsetX        : Integer;
    FCenterOffsetY        : Integer;

    FMinPointer           : TiGaugePointer;
    FMaxPointer           : TiGaugePointer;

    procedure SetOrientationTickMarks(const Value: TiOrientationSide);
    procedure SetOrientation         (const Value: TiOrientation);
    procedure SetEndsMargin          (const Value: Integer);
    procedure SetPointerStyle        (const Value: TiLinearGaugePointerStyle);
    procedure SetPointerSize         (const Value: Integer);
    procedure SetPointerColor        (const Value: TColor);
    procedure SetShowTicksAxis       (const Value: Boolean);
    procedure SetPointerOffSet       (const Value: Integer);
    procedure SetTickLabelStyle      (const Value: TiLogLabelStyle);
    procedure SetReverseScale        (const Value: Boolean);
    procedure SetAutoCenter          (const Value: Boolean);

    procedure CalcPoints;
    procedure CalcAutoCenterOffsets;

    function  GetTravelRange : Integer;
    property  TravelRange    : Integer read GetTravelRange;
    function  GetPositionPixels(Value: Double): Integer;

    function GetPointerColor : TColor;
    function GetPointerOffSet: Integer;
    function GetPointerSize  : Integer;
    function GetPointerStyle : TiLinearGaugePointerStyle;
  protected
    procedure SetPositionMin(const Value : Double); override;

    procedure DrawTicks    (Canvas: TCanvas);
    procedure DrawTickAxis (Canvas: TCanvas);
    procedure DrawSections (Canvas: TCanvas);
    procedure DrawIndicator(Canvas: TCanvas);
    procedure DrawMinMax   (Canvas: TCanvas);
    procedure DrawLimits   (Canvas: TCanvas);
    procedure DrawPointer  (Canvas: TCanvas; APointer: TiGaugePointer);

    procedure InitializePointer(iGaugePointer : TiGaugePointer); override;

    procedure iPaintTo(Canvas: TCanvas);                                           override;
    procedure iMouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure iMouseUp  (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure iMouseMove(                      Shift: TShiftState; X, Y: Integer); override;

    property OnAutoSize           : TNotifyEvent              read FOnAutoSize          write FOnAutoSize;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy;                    override;

    function GetPointersOffSet(Index: Integer): Integer;
    function GetPointersStyle (Index: Integer): TiLinearGaugePointerStyle;

    procedure SetPointersOffSet(Index: Integer; Value: Integer);
    procedure SetPointersStyle(Index: Integer; Value: TiLinearGaugePointerStyle);
  published
    property EndsMargin           : Integer                   read FEndsMargin           write SetEndsMargin           default 10;
    property Orientation          : TiOrientation             read FOrientation          write SetOrientation          default ioVertical;
    property OrientationTickMarks : TiOrientationSide         read FOrientationTickMarks write SetOrientationTickMarks default iosBottomRight;

    property PointerOffSet        : Integer                   read GetPointerOffSet      write SetPointerOffSet        default 0;
    property PointerColor         : TColor                    read GetPointerColor       write SetPointerColor         default clBlack;
    property PointerSize          : Integer                   read GetPointerSize        write SetPointerSize          default 10;
    property PointerStyle         : TiLinearGaugePointerStyle read GetPointerStyle       write SetPointerStyle         default ilgpsPointer;

    property ShowTicksAxis        : Boolean                   read FShowTicksAxis        write SetShowTicksAxis        default True;
    property TickLabelStyle       : TiLogLabelStyle           read FTickLabelStyle       write SetTickLabelStyle       default illsValue;
    property ReverseScale         : Boolean                   read FReverseScale         write SetReverseScale         default False;
    property AutoCenter           : Boolean                   read FAutoCenter           write SetAutoCenter           default False;

    property BackGroundPicture;
    property BackGroundColor;
    property BorderStyle;                  
    property CachedDrawing;
    property Transparent;
    property OffsetX;
    property OffsetY;

    property TickMajorStyle;
    property TickMinorStyle;

    property TickMajorColor;
    property TickMajorLength       default 20;
    property TickMinorAlignment;
    property TickMinorColor;
    property TickMinorLength       default 7;
    property TickMargin            default 0;
    property TickLabelMargin;
    property TickLabelFont;
    property TickLabelPrecision;
    property OnCustomizeTickLabel;

    property SectionColor1;
    property SectionColor2;
    property SectionColor3;
    property SectionColor4;
    property SectionColor5;
    property SectionCount;
    property SectionEnd1;
    property SectionEnd2;
    property SectionEnd3;
    property SectionEnd4;

    property ShowMaxPointer;
    property ShowMinPointer;
    property MinMaxPointerSize;
    property MinMaxPointerMargin;
    property MaxPointerColor;
    property MinPointerColor;
    property MinMaxUserCanMove;
    property Width                 default 60;
    property Height                default 200;
  end;

implementation
//****************************************************************************************************************************************************
constructor TiLogGauge.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  Width           := 60;
  Height          := 200;
  TickMajorLength := 20;
  TickMinorLength := 7;
  TickMargin      := 0;
  PositionMin     := 1;

  FEndsMargin     := 10;

  FShowTicksAxis  := True;

  FMinPointer     := TiGaugePointer.Create(nil);
  FMaxPointer     := TiGaugePointer.Create(nil);

  CreateBackGroundPicture;
end;
//****************************************************************************************************************************************************
destructor TiLogGauge.Destroy;
begin
  FMinPointer.Free;
  FMaxPointer.Free;
  inherited;
end;
//****************************************************************************************************************************************************
procedure TiLogGauge.SetEndsMargin    (const Value:Integer);begin SetIntegerProperty(Value,FEndsMargin,   irtBackGround);end;
procedure TiLogGauge.SetShowTicksAxis (const Value:Boolean);begin SetBooleanProperty(Value,FShowTicksAxis,irtBackGround);end;
procedure TiLogGauge.SetReverseScale  (const Value:Boolean);begin SetBooleanProperty(Value,FReverseScale, irtBackGround);end;
procedure TiLogGauge.SetAutoCenter    (const Value:Boolean);begin SetBooleanProperty(Value,FAutoCenter,   irtBackGround);end;
//****************************************************************************************************************************************************
procedure TiLogGauge.SetOrientationTickMarks(const Value: TiOrientationSide);
begin
  if FOrientationTickMarks <> Value then
    begin
      FOrientationTickMarks := Value;
      BackGroundChange;
    end;
end;
//****************************************************************************************************************************************************
procedure TiLogGauge.SetTickLabelStyle(const Value: TiLogLabelStyle);
begin
  if FTickLabelStyle <> Value then
    begin
      FTickLabelStyle := Value;
      BackGroundChange;
    end;
end;
//****************************************************************************************************************************************************
procedure TiLogGauge.SetPositionMin(const Value: Double);
begin
  if Value <= 0 then raise Exception.Create('Position Min must be greater than 0');
  inherited SetPositionMin(Value);
end;
//****************************************************************************************************************************************************
procedure TiLogGauge.SetOrientation(const Value: TiOrientation);
var
  TempWidth : Integer;
begin
  if FOrientation <> Value then
    begin
      FOrientation := Value;
      if not Loading then
        begin
          TempWidth := Width;
          Width     := Height;
          Height    := TempWidth;
          if Assigned(FOnAutoSize) then FOnAutoSize(Self);
        end;
      BackGroundChange;
    end;
end;
//****************************************************************************************************************************************************
function TiLogGauge.GetTravelRange : Integer;
var
  DrawRect : TRect;
begin
  DrawRect := Rect(0, 0 ,Width, Height);
  with DrawRect do
    case Forientation of
      ioHorizontal : Result := Right  - Left - (2 * FEndsMargin);
      ioVertical   : Result := Bottom - Top  - (2 * FEndsMargin);
      else           Result := 0;
    end;
end;
//****************************************************************************************************************************************************
function TiLogGauge.GetPositionPixels(Value : Double) : Integer;
var
  DrawRect    : TRect;
  Distance    : Integer;
begin
  DrawRect := Rect(0, 0 ,Width, Height);
  Distance := Round(TravelRange * (Log10(Value) - Log10(PositionMin))/(Log10(PositionMax) - Log10(PositionMin)));

  with DrawRect do
    case Forientation of
      ioVertical   : begin
                       case FReverseScale of
                         False : Result := Bottom - FEndsMargin - Distance;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re6这里只有精品视频在线观看| 91亚洲精品久久久蜜桃| 亚洲精品国产无天堂网2021| 2020日本不卡一区二区视频| 日韩午夜在线影院| 欧美一区二区人人喊爽| 日韩一区二区电影| 欧美电视剧免费全集观看| 亚洲精品一区二区三区在线观看| 久久久一区二区三区| 久久蜜桃一区二区| 国产精品入口麻豆九色| 国产精品久久久久久妇女6080| 亚洲日本青草视频在线怡红院| 日韩美女精品在线| 亚洲国产精品一区二区久久恐怖片| 一区二区三区久久久| 日韩精品五月天| 国产乱妇无码大片在线观看| 东方aⅴ免费观看久久av| 一本高清dvd不卡在线观看| 91福利视频网站| 欧美www视频| 中文字幕一区二区三区在线不卡 | 国产成人综合在线| 波多野结衣在线aⅴ中文字幕不卡| 99re亚洲国产精品| 欧美人与禽zozo性伦| 久久这里都是精品| 亚洲色欲色欲www| 六月丁香婷婷久久| 91看片淫黄大片一级| 日韩欧美一卡二卡| 亚洲乱码一区二区三区在线观看| 日本欧洲一区二区| 99精品视频在线观看| 欧美一级二级三级乱码| 国产精品电影一区二区| 三级欧美在线一区| 91亚洲国产成人精品一区二区三| 91精品在线麻豆| 亚洲三级在线观看| 国产一区二区三区不卡在线观看 | 日日噜噜夜夜狠狠视频欧美人| 国产在线一区观看| 欧美中文一区二区三区| 久久久久久久久久久久久久久99 | 粉嫩在线一区二区三区视频| 欧美日韩另类国产亚洲欧美一级| 久久久久亚洲蜜桃| 日日欢夜夜爽一区| 在线亚洲高清视频| 国产精品久久久久久久蜜臀| 精品亚洲国内自在自线福利| 欧洲av一区二区嗯嗯嗯啊| 国产精品美女久久久久久久久久久| 日本不卡在线视频| 欧美在线观看一区二区| 中文字幕在线不卡| 国产精品一区二区果冻传媒| 91精品国产色综合久久不卡电影 | 美洲天堂一区二卡三卡四卡视频 | 久久精品一二三| 蜜臀av性久久久久蜜臀aⅴ流畅| 91丨九色丨尤物| 中文字幕在线不卡一区二区三区| 国产乱人伦偷精品视频免下载| 欧美疯狂性受xxxxx喷水图片| 亚洲色欲色欲www在线观看| 成人理论电影网| 国产精品国产三级国产普通话99| 国产一区二区三区四区五区美女| 日韩精品一区在线观看| 日韩不卡一区二区三区| 日韩西西人体444www| 日产精品久久久久久久性色| 欧美一区二区三区日韩视频| 免费高清成人在线| 日韩三级.com| 国精产品一区一区三区mba桃花 | 色成人在线视频| 一区二区三区日韩精品| 欧美在线播放高清精品| 日本中文字幕不卡| 久久麻豆一区二区| 成人午夜视频在线| 亚洲曰韩产成在线| 欧美精品免费视频| 韩国精品免费视频| 亚洲天堂av老司机| 欧美卡1卡2卡| 韩国欧美国产一区| 亚洲色图欧洲色图婷婷| 欧美日本视频在线| 国产一区二三区好的| 欧美国产日产图区| 欧美在线观看视频在线| 久久69国产一区二区蜜臀| 精品99久久久久久| 一本色道久久综合亚洲精品按摩| 午夜天堂影视香蕉久久| 26uuu亚洲综合色欧美| 成人免费看视频| 日韩av在线发布| 欧美国产1区2区| 91麻豆精品国产自产在线| 国产黄色91视频| 五月婷婷综合网| 国产精品美女久久久久久久久久久| 91国在线观看| 国产精品一区二区视频| 亚洲在线中文字幕| 久久久久久日产精品| 在线国产电影不卡| 成人精品视频一区二区三区尤物| 亚洲国产一区二区三区| 久久久天堂av| 欧美精品一二三区| 北条麻妃一区二区三区| 老司机免费视频一区二区| 亚洲自拍偷拍综合| 国产精品伦理一区二区| 欧美精品一区二区三区久久久| 91在线云播放| 丁香激情综合国产| 精品一区精品二区高清| 一区二区三区在线观看动漫| 国产精品久久久久永久免费观看 | 国产精品毛片久久久久久久| 日韩一级黄色大片| 欧美视频一区在线| 色呦呦国产精品| 国产精品一区不卡| 日本不卡一二三| 日韩一区欧美二区| 亚洲一区二区三区四区在线| 国产精品成人午夜| 国产欧美一区二区精品婷婷| 精品日韩在线观看| 精品国产一区二区在线观看| 91麻豆精品91久久久久同性| 欧美日韩一区二区三区视频| av电影天堂一区二区在线观看| 成人小视频在线| 成人午夜视频在线观看| 成人免费观看男女羞羞视频| 成人午夜视频网站| 99r国产精品| 91首页免费视频| 色久综合一二码| 欧美色涩在线第一页| 欧美系列一区二区| 欧美性猛片aaaaaaa做受| 在线视频国内自拍亚洲视频| 色一区在线观看| 在线欧美小视频| 91精品国产综合久久久久久| 9191成人精品久久| 欧美大度的电影原声| 2021久久国产精品不只是精品| 精品日韩99亚洲| 久久精品日产第一区二区三区高清版| 日韩欧美国产1| 久久久亚洲综合| 亚洲欧洲精品一区二区三区| 亚洲狼人国产精品| 午夜电影一区二区三区| 麻豆精品久久精品色综合| 国产精品18久久久久久vr| 99精品在线免费| 精品视频在线视频| 欧美tickling网站挠脚心| 日本一区二区三区在线不卡| 亚洲精品一二三区| 美女视频第一区二区三区免费观看网站 | 国产精品系列在线播放| 久久99国内精品| 成人午夜av电影| 欧美午夜精品久久久| 精品日韩一区二区三区| 亚洲欧美在线aaa| 日韩成人精品视频| 成人看片黄a免费看在线| 欧美人伦禁忌dvd放荡欲情| www国产亚洲精品久久麻豆| 亚洲天堂免费看| 老司机午夜精品| 91丨porny丨蝌蚪视频| 精品日本一线二线三线不卡| 国产精品电影院| 日本中文一区二区三区| 91年精品国产| 日韩精品一区二区在线| 亚洲欧洲国产日本综合| 乱一区二区av| 欧美性生活大片视频| 国产精品美女久久福利网站| 日本免费在线视频不卡一不卡二| 本田岬高潮一区二区三区| 久久众筹精品私拍模特|