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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qipercentbar.pas

?? Iocomp Ultra Pack v3.0.2 Sources.For.Delphi 數(shù)據(jù)顯示編程插件,可用于工業(yè)控制
?? PAS
?? 第 1 頁 / 共 2 頁
字號(hào):
{*******************************************************}
{                                                       }
{       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;
//****************************************************************************************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色网站| 欧美成人女星排名| 69久久夜色精品国产69蝌蚪网| 欧美日韩视频不卡| 26uuu成人网一区二区三区| 国产日韩欧美激情| 亚洲一区免费视频| 喷水一区二区三区| caoporen国产精品视频| 欧美另类久久久品| 国产色爱av资源综合区| 亚洲网友自拍偷拍| 国产麻豆成人传媒免费观看| 日本乱人伦aⅴ精品| 日韩欧美一区二区久久婷婷| 亚洲三级小视频| 久久精品99国产精品日本| 成人免费高清在线| 在线电影欧美成精品| 国产精品区一区二区三区| 日韩一区精品视频| www.日本不卡| 精品国产青草久久久久福利| 亚洲女同ⅹxx女同tv| 韩国v欧美v日本v亚洲v| 欧美性大战xxxxx久久久| 久久久久免费观看| 日本亚洲电影天堂| 在线区一区二视频| 国产精品乱人伦| 精品午夜一区二区三区在线观看| 色婷婷综合激情| 国产精品视频看| 国产麻豆精品在线观看| 7878成人国产在线观看| 亚洲人成7777| 国产一区二区伦理片| 91麻豆精品国产综合久久久久久| 国产精品网站导航| 国产精品亚洲综合一区在线观看| 4438x亚洲最大成人网| 亚洲欧美激情在线| 成人精品国产免费网站| 精品国产91久久久久久久妲己 | 一本高清dvd不卡在线观看| 久久综合久久99| 美女视频一区在线观看| 欧美理论电影在线| 亚洲国产欧美日韩另类综合| 成人高清伦理免费影院在线观看| 欧美成va人片在线观看| 日韩精品福利网| 欧美美女网站色| 亚洲一区视频在线观看视频| 色哟哟一区二区| 亚洲免费电影在线| 99精品视频免费在线观看| 国产精品你懂的在线| 国产白丝网站精品污在线入口 | 国产激情视频一区二区在线观看| 91精品在线观看入口| 亚洲成人黄色影院| 欧美日韩亚洲综合一区二区三区| 亚洲一二三四区| 欧美在线视频全部完| 一区二区三区欧美在线观看| 91香蕉视频黄| 亚洲精品免费在线观看| 色综合天天天天做夜夜夜夜做| 一区二区中文视频| 91蝌蚪porny成人天涯| 亚洲欧洲日韩在线| 91视频.com| 亚洲精品va在线观看| 欧美在线不卡一区| 五月婷婷色综合| 日韩欧美一二三区| 国产精品影视在线观看| 中日韩免费视频中文字幕| 成人动漫一区二区| 国产精品成人网| 日本久久一区二区三区| 亚洲成人7777| 欧美大白屁股肥臀xxxxxx| 久久国产尿小便嘘嘘尿| 久久亚洲一级片| 成人高清视频免费观看| 一区二区三区蜜桃网| 欧美日韩在线免费视频| 麻豆国产欧美日韩综合精品二区| 久久亚洲一区二区三区明星换脸 | 国产精品久久免费看| 91原创在线视频| 亚洲电影视频在线| 欧美videos大乳护士334| 国产成人在线视频免费播放| 国产精品久久三区| 欧美在线观看禁18| 精品一区二区三区在线播放视频| 日本一区二区免费在线| 91麻豆自制传媒国产之光| 午夜精品爽啪视频| 久久久精品免费网站| 日本高清不卡视频| 蜜臀av亚洲一区中文字幕| 国产视频一区不卡| 欧美在线一二三四区| 久久精品国产免费| 日韩理论片一区二区| 在线播放中文一区| 国产aⅴ综合色| 亚洲高清视频在线| 久久久精品黄色| 欧美日韩一区二区三区四区 | 国产日韩欧美高清| 在线观看日韩电影| 激情综合色综合久久| 亚洲天堂久久久久久久| 69p69国产精品| 成人av小说网| 青青草国产精品亚洲专区无| 欧美国产一区在线| 欧美一区二区三区在线| 成人免费视频网站在线观看| 日韩二区三区在线观看| 国产视频亚洲色图| 91精品国产色综合久久不卡蜜臀 | 亚洲美女视频在线观看| 日韩欧美一区二区视频| 日本高清不卡一区| 国产在线精品一区二区 | 欧美一区二区黄| 99免费精品视频| 捆绑变态av一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 日韩视频在线你懂得| 在线看不卡av| 丁香婷婷综合网| 日韩电影在线免费看| 亚洲欧洲综合另类| 久久亚洲二区三区| 51午夜精品国产| 91成人看片片| 播五月开心婷婷综合| 久久国产视频网| 亚洲gay无套男同| 亚洲日本电影在线| 久久亚洲精品小早川怜子| 这里只有精品99re| 欧美三级日韩在线| 成人av在线电影| 国产一区91精品张津瑜| 日韩高清不卡一区二区三区| 一区二区三区小说| 国产精品二三区| 久久久亚洲欧洲日产国码αv| 欧美一区二区三区免费视频| 日本乱人伦一区| 91麻豆产精品久久久久久 | 一区二区三区免费看视频| 中文字幕国产一区二区| 精品国产第一区二区三区观看体验| 欧美色窝79yyyycom| 色中色一区二区| 99re亚洲国产精品| 成人黄色一级视频| 成人在线视频一区二区| 国产美女视频91| 国产精品一线二线三线精华| 精品写真视频在线观看| 久久不见久久见免费视频7| 日韩精彩视频在线观看| 亚洲成av人片一区二区三区| 一区二区三区在线免费视频| 亚洲人吸女人奶水| 亚洲日本韩国一区| 一区二区三区四区乱视频| 亚洲精品久久嫩草网站秘色| 亚洲靠逼com| 一区二区三区高清| 亚洲自拍偷拍av| 午夜视频一区二区三区| 婷婷久久综合九色综合绿巨人| 亚洲国产一区二区视频| 欧美日韩一区二区三区在线看| 久久99久久99小草精品免视看| 久久亚洲一区二区三区四区| 日韩精品中文字幕在线不卡尤物| 日韩视频在线你懂得| 欧美一级高清大全免费观看| 日韩精品在线网站| 精品国产乱码久久久久久免费| 久久综合精品国产一区二区三区| 欧美在线一二三| 成人黄色综合网站| 亚洲日本免费电影| 亚洲成人av资源| 日韩电影在线观看电影| 久久精品国产77777蜜臀| 国产剧情av麻豆香蕉精品|