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

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

?? qipercentbar.pas

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

{$ifdef iVCL}unit  iPercentBar;{$endif}
{$ifdef iCLX}unit QiPercentBar;{$endif}

interface

uses
  {$I iIncludeUses.inc}
  {$IFDEF iVCL} iTypes,  iGPFunctions,  iClasses,  iCustomComponent, iOPCItem;{$ENDIF}
  {$IFDEF iCLX}QiTypes, QiGPFunctions, QiClasses, QiCustomComponent;          {$ENDIF}

type
  TiPercentBar = class(TiCustomComponent)
  private
    FItemList                 : TStringList;

    FLegendFont               : TFont;
    FLegendMargin             : Integer;
    FOuterMargin              : Integer;
    FTitleMargin              : Integer;
    FTitleText                : String;
    FTitleFont                : TFont;
    FLegendShowValue          : Boolean;
    FLegendShowPercent        : Boolean;
    FLegendValuePrecision     : Integer;
    FLegendPercentPrecision   : Integer;
    FLegendValueMargin        : Integer;
    FLegendPercentMargin      : Integer;
    FBarWidth                 : Integer;
    FTitleHorizontalAlignment : TiTitleHorizontalAlignment;

    procedure SetLegendFont            (const Value: TFont);
    procedure SetLegendMargin          (const Value: Integer);
    procedure SetTitleFont             (const Value: TFont);
    procedure SetTitleMargin           (const Value: Integer);
    procedure SetTitleText             (const Value: String);
    procedure SetLegendPercentPrecision(const Value: Integer);
    procedure SetLegendValuePrecision  (const Value: Integer);
    procedure SetLegendShowPercent     (const Value: Boolean);
    procedure SetLegendShowValue       (const Value: Boolean);

    function GetItemCount                 : Integer;
    function GetItemColor(Index: Integer) : TColor;
    function GetItemTitle(Index: Integer) : String;
    function GetItemValue(Index: Integer) : Double;

    procedure SetItemColor               (Index: Integer; const Value: TColor);
    procedure SetItemTitle               (Index: Integer; const Value: String);
    procedure SetItemValue               (Index: Integer; const Value: Double);
    procedure SetLegendPercentMargin     (const Value: Integer);
    procedure SetLegendValueMargin       (const Value: Integer);
    procedure SetBarWidth                (const Value: Integer);
    procedure SetTitleHorizontalAlignment(const Value: TiTitleHorizontalAlignment);
    procedure SetOuterMargin(const Value: Integer);

  protected
    procedure iPaintTo(Canvas: TCanvas);         override;
    procedure DefineProperties(Filer: TFiler);   override;
    procedure WriteItems      (Writer: TWriter);
    procedure ReadItems       (Reader: TReader);
    function  DoWriteItems : Boolean;

    {$ifdef iVCL}
    procedure UpdateOPCSpecialList;                            override;
    function  OPCNewDataSpecial(iOPCItem: TiOPCItem): Boolean; override;
    {$endif}
  public
    constructor Create(AOwner: TComponent);      override;
    destructor  Destroy;                         override;
    procedure   Loaded;                          override;
    procedure   AddItem(Title: String; Color: TColor; Value: Double);
    procedure   RemoveItem(Index : Integer);
    procedure   ClearList;

    property    ItemCount                 : Integer                    read GetItemCount;
    property    ItemTitle[Index: Integer] : String                     read GetItemTitle              write SetItemTitle;
    property    ItemColor[Index: Integer] : TColor                     read GetItemColor              write SetItemColor;
    property    ItemValue[Index: Integer] : Double                     read GetItemValue              write SetItemValue;
  published
    property OuterMargin                  : Integer                    read FOuterMargin              write SetOuterMargin              default 10;

    property BarWidth                     : Integer                    read FBarWidth                 write SetBarWidth                 default 30;

    property LegendFont                   : TFont                      read FLegendFont               write SetLegendFont;
    property LegendMargin                 : Integer                    read FLegendMargin             write SetLegendMargin             default 10;

    property TitleText                    : String                     read FTitleText                write SetTitleText;
    property TitleMargin                  : Integer                    read FTitleMargin              write SetTitleMargin              default 10;
    property TitleHorizontalAlignment     : TiTitleHorizontalAlignment read FTitleHorizontalAlignment write SetTitleHorizontalAlignment default ithaCenterDisplay;
    property TitleFont                    : TFont                      read FTitleFont                write SetTitleFont;

    property LegendShowValue              : Boolean                    read FLegendShowValue          write SetLegendShowValue          default False;
    property LegendShowPercent            : Boolean                    read FLegendShowPercent        write SetLegendShowPercent        default False;
    property LegendValuePrecision         : Integer                    read FLegendValuePrecision     write SetLegendValuePrecision     default 1;
    property LegendValueMargin            : Integer                    read FLegendValueMargin        write SetLegendValueMargin        default 10;
    property LegendPercentPrecision       : Integer                    read FLegendPercentPrecision   write SetLegendPercentPrecision   default 1;
    property LegendPercentMargin          : Integer                    read FLegendPercentMargin      write SetLegendPercentMargin      default 10;

    property BackGroundColor;
    property BorderStyle      default ibsRaised;
    property Transparent;
    property Width            default 200;
    property Height           default 150;
  end;

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

  Width           := 200;
  Height          := 150;
  BorderStyle     := ibsRaised;

  FOuterMargin            := 10;
  FBarWidth               := 30;
  FLegendMargin           := 10;

  FTitleMargin            := 10;
  FTitleText              := 'Percent Bar 1';

  FLegendValuePrecision   := 1;
  FLegendPercentPrecision := 1;
  FLegendValueMargin      := 10;
  FLegendPercentMargin    := 10;

  FItemList   := TStringList.Create;

  FLegendFont := TFont.Create; FLegendFont.OnChange := BackGroundChangeEvent;
  FTitleFont  := TFont.Create; FTitleFont.OnChange  := BackGroundChangeEvent;

  AddItem('Item 1', clRed,  100);
  AddItem('Item 2', clLime, 100);
  AddItem('Item 3', clBlue, 100);
end;
//****************************************************************************************************************************************************
destructor TiPercentBar.Destroy;
begin
  ClearList;
  FItemList.Free;
  FLegendFont.Free;
  FTitleFont.Free;
  inherited;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.ClearList;
begin
  while FItemList.Count > 0 do
    begin
      FItemList.Objects[0].Free;
      FItemList.Delete(0);
    end;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.Loaded;
begin
  inherited;
  if ItemCount = 0 then
    begin
      AddItem('Item 1', clRed,  100);
      AddItem('Item 2', clLime, 100);
      AddItem('Item 3', clBlue, 100);
    end;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.SetLegendMargin          (const Value:Integer);begin SetIntegerProperty(Value,FLegendMargin,          irtInvalidate);end;
procedure TiPercentBar.SetTitleMargin           (const Value:Integer);begin SetIntegerProperty(Value,FTitleMargin,           irtInvalidate);end;
procedure TiPercentBar.SetTitleText             (const Value:String );begin SetStringProperty (Value,FTitleText,             irtInvalidate);end;
procedure TiPercentBar.SetOuterMargin           (const Value:Integer);begin SetIntegerProperty(Value,FOuterMargin,           irtInvalidate);end;
procedure TiPercentBar.SetLegendPercentPrecision(const Value:Integer);begin SetIntegerProperty(Value,FLegendPercentPrecision,irtInvalidate);end;
procedure TiPercentBar.SetLegendValuePrecision  (const Value:Integer);begin SetIntegerProperty(Value,FLegendValuePrecision,  irtInvalidate);end;
procedure TiPercentBar.SetLegendShowPercent     (const Value:Boolean);begin SetBooleanProperty(Value,FLegendShowPercent,     irtInvalidate);end;
procedure TiPercentBar.SetLegendShowValue       (const Value:Boolean);begin SetBooleanProperty(Value,FLegendShowValue,       irtInvalidate);end;
procedure TiPercentBar.SetLegendPercentMargin   (const Value:Integer);begin SetIntegerProperty(Value,FLegendPercentMargin,   irtInvalidate);end;
procedure TiPercentBar.SetLegendValueMargin     (const Value:Integer);begin SetIntegerProperty(Value,FLegendValueMargin,     irtInvalidate);end;
procedure TiPercentBar.SetBarWidth              (const Value:Integer);begin SetIntegerProperty(Value,FBarWidth,              irtInvalidate);end;
//****************************************************************************************************************************************************
procedure TiPercentBar.SetLegendFont(const Value:TFont);begin FLegendFont.Assign(Value);end;
procedure TiPercentBar.SetTitleFont (const Value:TFont);begin FTitleFont.Assign (Value);end;
//****************************************************************************************************************************************************
procedure TiPercentBar.AddItem(Title: String; Color: TColor; Value: Double);
var
  iPieChartItemObject : TiPercentItemObject;
begin
  iPieChartItemObject       := TiPercentItemObject.Create;
  iPieChartItemObject.Title := Title;
  iPieChartItemObject.Color := Color;
  iPieChartItemObject.Value := Value;
  FItemList.AddObject('', iPieChartItemObject);

  InvalidateChange;
end;
//****************************************************************************************************************************************************
function TiPercentBar.GetItemCount: Integer;
begin
  Result := FItemList.Count;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.RemoveItem(Index: Integer);
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  FitemList.Objects[Index].Free;
  FitemList.Delete(Index);
  InvalidateChange;
end;
//****************************************************************************************************************************************************
function TiPercentBar.GetItemTitle(Index: Integer): String;
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  Result := (FitemList.Objects[Index] as TiPercentItemObject).Title;
end;
//****************************************************************************************************************************************************
function TiPercentBar.GetItemColor(Index: Integer): TColor;
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  Result := (FitemList.Objects[Index] as TiPercentItemObject).Color;
end;
//****************************************************************************************************************************************************
function TiPercentBar.GetItemValue(Index: Integer): Double;
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  Result := (FitemList.Objects[Index] as TiPercentItemObject).Value;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.SetItemTitle(Index: Integer; const Value: String);
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  (FitemList.Objects[Index] as TiPercentItemObject).Title := Value;
  InvalidateChange;
end;
//****************************************************************************************************************************************************
procedure TiPercentBar.SetItemColor(Index: Integer; const Value: TColor);
begin
  if (Index < 0) or (Index > FItemList.Count) then raise Exception.Create('Item Index out of Bounds');
  (FitemList.Objects[Index] as TiPercentItemObject).Color := Value;
  InvalidateChange;
end;
//****************************************************************************************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合二区| 国内不卡的二区三区中文字幕| 欧美在线你懂得| 亚洲天堂福利av| 欧美另类高清zo欧美| 蜜臀国产一区二区三区在线播放 | 日本韩国一区二区| 日本不卡在线视频| 国产欧美精品国产国产专区| 波多野结衣中文字幕一区| 五月婷婷另类国产| 3d成人动漫网站| 国产精品一区二区久久精品爱涩| 国产精品久久久久久福利一牛影视| 欧美亚洲尤物久久| 国产乱子伦一区二区三区国色天香 | 狠狠色狠狠色综合系列| 国产精品毛片大码女人| 欧美老人xxxx18| 成人av先锋影音| 麻豆精品在线播放| 一级特黄大欧美久久久| 久久一二三国产| 欧美日韩aaaaa| 粉嫩欧美一区二区三区高清影视| 亚洲美女电影在线| 国产欧美一区二区在线| 91.成人天堂一区| 国产福利91精品一区| 日韩电影在线免费| 亚洲国产视频一区| 中文字幕一区二区在线播放| 欧美不卡在线视频| 欧美日韩在线三级| 91久久国产综合久久| 国产99久久久国产精品潘金网站| 婷婷一区二区三区| 亚洲激情在线播放| 亚洲精品中文字幕在线观看| 欧美成人女星排行榜| 欧美日韩三级视频| 91久久线看在观草草青青| 成人丝袜高跟foot| 国产一区在线看| 国内精品写真在线观看| 日本sm残虐另类| 婷婷成人综合网| 亚洲国产三级在线| 一区二区三区91| 亚洲免费资源在线播放| 中文字幕国产精品一区二区| 久久美女艺术照精彩视频福利播放| 精品久久久影院| 精品少妇一区二区三区 | 国产喂奶挤奶一区二区三区| 欧美不卡一区二区| 日韩一区二区电影| 88在线观看91蜜桃国自产| 欧美亚洲综合在线| 欧美人与性动xxxx| 欧美一级二级在线观看| 日韩写真欧美这视频| 日韩亚洲欧美高清| 26uuu国产在线精品一区二区| 日韩欧美一区中文| 精品999久久久| 中文字幕精品三区| 国产精品久久久久久久岛一牛影视| 国产午夜精品一区二区| 国产精品福利在线播放| 亚洲欧美成aⅴ人在线观看| 伊人开心综合网| 三级不卡在线观看| 精品一二三四在线| 国产毛片一区二区| 99久久亚洲一区二区三区青草| 成人夜色视频网站在线观看| 99视频超级精品| 色8久久精品久久久久久蜜| 欧美日韩三级在线| 欧美成人vps| 国产精品丝袜91| 夜夜爽夜夜爽精品视频| 午夜精品久久久久久久99水蜜桃| 蜜桃一区二区三区在线观看| 国产一二三精品| 99精品欧美一区二区三区小说| 91丨九色丨蝌蚪富婆spa| 欧美性生活久久| 精品免费一区二区三区| 欧美韩国日本综合| 亚洲国产精品麻豆| 毛片av一区二区| 成人免费视频视频在线观看免费| 91性感美女视频| 日韩一区二区三免费高清| 久久影院电视剧免费观看| 最近中文字幕一区二区三区| 亚洲丶国产丶欧美一区二区三区| 男人的天堂亚洲一区| 国产精品一区二区三区乱码| 日本高清不卡aⅴ免费网站| 日韩一级片在线播放| 欧美r级在线观看| 国产精品久久久久一区| 亚洲美女偷拍久久| 日产精品久久久久久久性色| 九九热在线视频观看这里只有精品| 国产一区二区不卡| 色丁香久综合在线久综合在线观看 | 亚洲一区二区三区四区在线| 久久99这里只有精品| 成人动漫一区二区在线| 在线91免费看| 国产精品不卡在线观看| 免费观看在线综合| 色八戒一区二区三区| 久久女同互慰一区二区三区| 亚洲制服欧美中文字幕中文字幕| 激情图区综合网| 欧美怡红院视频| 国产精品久久久99| 麻豆国产精品777777在线| 色老综合老女人久久久| 国产清纯美女被跳蛋高潮一区二区久久w| 一区二区免费在线| 成人网页在线观看| 精品电影一区二区| 日韩中文字幕不卡| 粉嫩绯色av一区二区在线观看 | 91日韩一区二区三区| 精品国产3级a| 首页亚洲欧美制服丝腿| 色老汉一区二区三区| 久久九九久久九九| 午夜视频一区二区| 在线中文字幕不卡| 亚洲三级在线免费观看| 国产成人免费视频一区| 欧美sm美女调教| 热久久一区二区| 欧美美女bb生活片| 一区二区三区欧美在线观看| 麻豆免费看一区二区三区| 欧美日韩一级二级| 一区二区三区国产精华| 北条麻妃一区二区三区| 国产精品免费丝袜| 国产精品夜夜嗨| 精品国产一区二区三区av性色| 日韩精品福利网| 91精品视频网| 日韩av成人高清| 欧美一级一级性生活免费录像| 性久久久久久久久| 欧美日韩国产欧美日美国产精品| 亚洲国产精品成人综合色在线婷婷| 国产精品一线二线三线精华| 欧美成人三级电影在线| 激情欧美一区二区| 日韩欧美一区二区视频| 亚洲一卡二卡三卡四卡五卡| 91亚洲精华国产精华精华液| 久久久五月婷婷| 麻豆91在线播放| 在线不卡中文字幕播放| 亚洲成人精品在线观看| 欧美高清视频不卡网| 婷婷开心激情综合| 91啪亚洲精品| 亚洲影院久久精品| 91精品国产综合久久蜜臀| 日本aⅴ精品一区二区三区| 日韩精品中文字幕在线一区| 老色鬼精品视频在线观看播放| 精品国产一区久久| 成人av小说网| 亚洲一区二区视频在线观看| 欧美精品第1页| 国产在线播放一区三区四| 中文av一区二区| 欧美亚洲国产怡红院影院| 日本不卡高清视频| 国产日韩欧美激情| 欧日韩精品视频| 麻豆国产精品777777在线| 亚洲国产精品激情在线观看| 成人网在线免费视频| 亚洲欧美一区二区三区久本道91| 一本色道久久加勒比精品| 亚洲国产精品久久久久婷婷884| 在线观看三级视频欧美| 亚洲综合在线电影| 欧美精品99久久久**| 国产高清久久久| 亚洲国产美女搞黄色| 国产精品美女www爽爽爽| 精品福利在线导航| 欧美日韩一卡二卡| 99精品视频在线免费观看|