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

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

?? qiplottable.pas

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

{$ifdef iVCL}unit  iPlotTable;{$endif}
{$ifdef iCLX}unit QiPlotTable;{$endif}

interface

uses
  {$I iIncludeUses.inc}
  {$IFDEF iVCL} Menus,  iTypes,  iGPFunctions,  iPlotObjects,  iPlotChannelCustom;{$ENDIF}
  {$IFDEF iCLX}QMenus, QiTypes, QiGPFunctions, QiPlotObjects, QiPlotChannelCustom;{$ENDIF}

type
  TiPlotTableButton = class(TiPlotButton)
  public
    procedure Draw(const Canvas: TCanvas; const BackGroundColor: TColor); override;
  end;

  TiPlotTableColumn = class(TObject)
  protected
    WidthPixels          : Integer;
  public
    Title                : String;
    Width                : Double;
    Visible              : Boolean;
    TitleAlignment       : TiAlignmentHorizontal;
    TitleAlignmentMargin : Double;
    TitleFontColor       : TColor;
    DataAlignment        : TiAlignmentHorizontal;
    DataAlignmentMargin  : Double;
    DataFontColor        : TColor;
    AutoSize             : Boolean;
  end;

  TiPlotTable = class(TiPlotLayoutObject)
  private
    FUpButton                  : TiPlotTableButton;
    FDownButton                : TiPlotTableButton;
    FRequiredWidth             : Integer;
    FRequiredHeight            : Integer;

    FColumnList                : TStringList;
    FRowDataList               : TStringList;
    FTempStringList            : TStringList;

    FItemViewStartIndex        : Integer;
    FItemViewStopIndex         : Integer;
    FRowHeight                 : Integer;

    FMarginLeft                : Double;
    FMarginRight               : Double;
    FMarginBottom              : Double;
    FMarginTop                 : Double;
    FGridBackGroundTransparent : Boolean;
    FGridBackGroundColor       : TColor;
    FGridLinesShow             : Boolean;
    FGridLinesColor            : TColor;

    FColumnSpacing             : Double;
    FRowSpacing                : Double;
    FRowsMax                   : Integer;
    FDataFont                  : TFont;

    FGridRect                  : TRect;
    FTitleRect                 : TRect;

    FColumnTitlesVisible       : Boolean;
    FColumnTitlesFont          : TFont;
  protected
    procedure SetMarginBottom             (const Value: Double);
    procedure SetMarginLeft               (const Value: Double);
    procedure SetMarginRight              (const Value: Double);
    procedure SetMarginTop                (const Value: Double);
    procedure SetGridBackGroundColor      (const Value: TColor);
    procedure SetGridBackGroundTransparent(const Value: Boolean);
    procedure SetDataFont                 (const Value: TFont);
    procedure SetColumnSpacing            (const Value: Double);
    procedure SetRowSpacing               (const Value: Double);
    procedure SetColumnTitlesFont         (const Value: TFont);
    procedure SetColumnTitlesVisible      (const Value: Boolean);
    procedure SetGridLinesShow            (const Value: Boolean);
    procedure SetGridLinesColor           (const Value: TColor);
    procedure SetRowsMax                  (const Value: Integer);

    procedure CalcRects(Canvas : TCanvas);

    function  GetColumn     (Index: Integer): TiPlotTableColumn;

    function  GetColumnCount: Integer;
    function  GetRowCount   : Integer;

    function  GetData       (Col, Row: Integer): String;
    procedure SetData       (Col, Row: Integer; const Value: String);

    procedure ButtonInvalidate(Sender : TObject);
    procedure UpButtonClick   (Sender : TObject);
    procedure DownButtonClick (Sender : TObject);

    procedure NotificationSetFocus(Sender: TObject);                                                                  override;

    function  GetMouseObject(X, Y: Integer): TiPlotObject;                                                            override;
    function  GetRequiredWidth(const Canvas: TCanvas): Integer;                                                       override;
    procedure AddMenuItems(PopupMenu: TPopUpMenu);                                                                    override;

    procedure DoMouseUp         (MouseData: TiPlotMouseData);                                                         override;

    procedure Draw            (const Canvas: TCanvas; const BackGroundColor: TColor);                                 override;
    procedure DrawGrid        (const Canvas: TCanvas);
    procedure DrawColumnTitles(const Canvas: TCanvas);
    procedure DrawData        (const Canvas: TCanvas);
    procedure DrawDownButton  (const Canvas: TCanvas);
    procedure DrawUpButton    (const Canvas: TCanvas);

  public
    constructor Create(AOwner: TObject; AOnChange, AOnInsert, AOnRemove, AOnRename: TNotifyEvent);              override;
    destructor  Destroy;                                                                                            override;

    function AddColumn(Title: String): Integer;
    function AddRow: Integer;

    procedure RemoveAllColumns;
    procedure RemoveAllRows;

    procedure DeleteColumn(Index: Integer);
    procedure DeleteRow   (Index: Integer);

    property RowCount                   : Integer read GetRowCount;
    property ColumnCount                : Integer read GetColumnCount;

    property Column[Index: Integer]     : TiPlotTableColumn read GetColumn;

    property Data[Col, Row: Integer]    : String  read GetData                    write SetData;
  published
    property MarginLeft                 : Double  read FMarginLeft                write SetMarginLeft;
    property MarginTop                  : Double  read FMarginTop                 write SetMarginTop;
    property MarginRight                : Double  read FMarginRight               write SetMarginRight;
    property MarginBottom               : Double  read FMarginBottom              write SetMarginBottom;

    property GridBackGroundColor        : TColor  read FGridBackGroundColor       write SetGridBackGroundColor       default clGray;
    property GridBackGroundTransparent  : Boolean read FGridBackGroundTransparent write SetGridBackGroundTransparent default False;
    property GridLinesColor             : TColor  read FGridLinesColor            write SetGridLinesColor;
    property GridLinesShow              : Boolean read FGridLinesShow             write SetGridLinesShow;

    property DataFont                   : TFont   read FDataFont                  write SetDataFont;

    property ColumnSpacing              : Double  read FColumnSpacing             write SetColumnSpacing;
    property RowSpacing                 : Double  read FRowSpacing                write SetRowSpacing;
    property RowsMax                    : Integer read FRowsMax write SetRowsMax;

    property ColumnTitlesVisible        : Boolean read FColumnTitlesVisible       write SetColumnTitlesVisible       default False;
    property ColumnTitlesFont           : TFont   read FColumnTitlesFont          write SetColumnTitlesFont;
  end;

implementation

uses
{$ifdef iVCL} iPlotManagers,  iPlotComponent;{$endif}
{$ifdef iCLX}QiPlotManagers, QiPlotComponent;{$endif}

type
  TiPlotComponentAccess = class(TiPlotComponent)end;
//****************************************************************************************************************************************************
constructor TiPlotTable.Create(AOwner: TObject; AOnChange, AOnInsert, AOnRemove, AOnRename: TNotifyEvent);
begin
  inherited;

  FMarginLeft    := 1;
  FMarginRight   := 1;
  FMarginBottom  := 1;
  FMarginTop     := 1;

  FGridBackGroundColor       := clGray;
  FGridBackGroundTransparent := False;
  FGridLinesColor            := clWhite;
  FGridLinesShow             := True;
  FColumnSpacing             := 2;
  FRowSpacing                := 0.5;
  FColumnTitlesVisible       := True;

  Horizontal                 := False;

  FRowDataList    := TStringList.Create;
  FColumnList     := TStringList.Create;
  FTempStringList := TStringList.Create;

  FDataFont         := TFont.Create; FDataFont.OnChange         := TriggerChange; FDataFont.Color         := clWhite; FDataFont.Style         := [fsBold];
  FColumnTitlesFont := TFont.Create; FColumnTitlesFont.OnChange := TriggerChange; FColumnTitlesFont.Color := clAqua;  FColumnTitlesFont.Style := [fsBold];

  FUpButton   := TiPlotTableButton.Create(Owner, nil, nil, nil, nil);
  with FUpButton do
    begin
      Name         := 'PlotTableUpButton';
      TimerEnabled := True;
      OnClick      := UpButtonClick;
      OnInvalidate := ButtonInvalidate;
    end;

  FDownButton := TiPlotTableButton.Create(Owner, nil, nil, nil, nil);
  with FDownButton do
    begin
      Name         := 'PlotTableDownButton';
      TimerEnabled := True;
      OnClick      := DownButtonClick;
      OnInvalidate := ButtonInvalidate;
    end;
end;
//****************************************************************************************************************************************************
destructor TiPlotTable.Destroy;
begin
  FRowDataList.Free;

  RemoveAllColumns;
  FColumnList.Free;

  FDataFont.Free;
  FColumnTitlesFont.Free;

  FTempStringList.Free;

  FUpButton.Free;
  FDownButton.Free;
  inherited;
end;
//****************************************************************************************************************************************************
procedure TiPlotTable.AddMenuItems(PopupMenu: TPopUpMenu);
begin
  inherited AddMenuItems(PopupMenu);
  AddEditMenuItems(PopupMenu);
end;
//****************************************************************************************************************************************************
function TiPlotTable.GetMouseObject(X, Y: Integer): TiPlotObject;
begin
  Result := inherited GetMouseObject(X, Y);

  if      PtInRect(FUpButton.DrawRect,   Point(X, Y)) then Result := FUpButton
  else if PtInRect(FDownButton.DrawRect, Point(X, Y)) then Result := FDownButton
  else
end;
//****************************************************************************************************************************************************
procedure TiPlotTable.SetMarginBottom             (const Value:Double );begin SetDoubleProperty (Value,FMarginBottom,             TriggerChange);end;
procedure TiPlotTable.SetMarginLeft               (const Value:Double );begin SetDoubleProperty (Value,FMarginLeft,               TriggerChange);end;
procedure TiPlotTable.SetMarginRight              (const Value:Double );begin SetDoubleProperty (Value,FMarginRight,              TriggerChange);end;
procedure TiPlotTable.SetMarginTop                (const Value:Double );begin SetDoubleProperty (Value,FMarginTop,                TriggerChange);end;
procedure TiPlotTable.SetGridBackGroundColor      (const Value:TColor );begin SetColorProperty  (Value,FGridBackGroundColor,      TriggerChange);end;
procedure TiPlotTable.SetGridBackGroundTransparent(const Value:Boolean);begin SetBooleanProperty(Value,FGridBackGroundTransparent,TriggerChange);end;
procedure TiPlotTable.SetColumnSpacing            (const Value:Double );begin SetDoubleProperty (Value,FColumnSpacing,            TriggerChange);end;
procedure TiPlotTable.SetRowSpacing               (const Value:Double );begin SetDoubleProperty (Value,FRowSpacing,               TriggerChange);end;
procedure TiPlotTable.SetColumnTitlesVisible      (const Value:Boolean);begin SetBooleanProperty(Value,FColumnTitlesVisible,      TriggerChange);end;
procedure TiPlotTable.SetGridLinesShow            (const Value:Boolean);begin SetBooleanProperty(Value,FGridLinesShow,            TriggerChange);end;
procedure TiPlotTable.SetGridLinesColor           (const Value:TColor );begin SetColorProperty  (Value,FGridLinesColor,           TriggerChange);end;
procedure TiPlotTable.SetRowsMax                  (const Value:Integer);begin SetIntegerProperty(Value,FRowsMax,                  TriggerChange);end;
//****************************************************************************************************************************************************
procedure TiPlotTable.SetDataFont        (const Value:TFont);begin FDataFont.Assign(Value);        end;
procedure TiPlotTable.SetColumnTitlesFont(const Value:TFont);begin FColumnTitlesFont.Assign(Value);end;
//****************************************************************************************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区视频| 亚洲精品在线电影| 国产综合久久久久久鬼色| 1024成人网色www| 日韩三级视频在线看| 在线观看欧美黄色| 成人综合婷婷国产精品久久免费| 日韩精品成人一区二区在线| 中文字幕亚洲一区二区av在线| 日韩免费电影网站| 欧美日韩视频在线观看一区二区三区| 丁香婷婷综合五月| 麻豆成人久久精品二区三区小说| 亚洲狼人国产精品| 国产精品天美传媒沈樵| 精品国产1区2区3区| 欧美日韩情趣电影| 色网综合在线观看| 大美女一区二区三区| 久久国产福利国产秒拍| 丝袜诱惑制服诱惑色一区在线观看| 国产日韩欧美综合一区| 精品蜜桃在线看| 91精品国产美女浴室洗澡无遮挡| 91久久国产综合久久| 不卡的电视剧免费网站有什么| 激情六月婷婷综合| 久久不见久久见免费视频7| 偷拍日韩校园综合在线| 洋洋成人永久网站入口| 亚洲精选免费视频| 日韩毛片一二三区| 日韩毛片视频在线看| 成人免费在线播放视频| 国产精品美女视频| 国产精品欧美久久久久一区二区| 久久久久国产精品厨房| 久久久国产午夜精品| 国产亚洲精品aa| 欧美激情一二三区| 国产精品蜜臀av| 亚洲人快播电影网| 一区二区三区在线视频免费观看| 一区二区三区成人在线视频| 一区二区高清免费观看影视大全| 91美女片黄在线观看91美女| 欧美一级日韩不卡播放免费| 国产福利一区二区三区视频| 免费国产亚洲视频| 久久国产人妖系列| 国产老肥熟一区二区三区| 国产精品66部| 成人av在线资源网| 色综合久久九月婷婷色综合| 欧美日韩在线电影| 欧美精品亚洲二区| 日韩免费性生活视频播放| 久久青草国产手机看片福利盒子| 国产亚洲va综合人人澡精品| 国产精品成人免费| 亚洲无线码一区二区三区| 秋霞电影网一区二区| 久久99国产精品免费网站| 高清不卡在线观看| 色嗨嗨av一区二区三区| 欧美一级片免费看| 国产网红主播福利一区二区| 亚洲日本一区二区| 强制捆绑调教一区二区| 粉嫩aⅴ一区二区三区四区五区| 色婷婷亚洲婷婷| 欧美一三区三区四区免费在线看| 久久免费电影网| 一区二区三区在线播放| 麻豆精品久久精品色综合| jlzzjlzz亚洲日本少妇| 91国偷自产一区二区开放时间| 日韩视频在线一区二区| 国产精品免费视频一区| 日韩精品每日更新| 粉嫩av一区二区三区在线播放| 欧美日韩视频在线观看一区二区三区| 亚洲精品一区二区在线观看| 亚洲欧洲美洲综合色网| 亚洲国产欧美另类丝袜| 国产精品一区二区三区四区| 欧美亚洲综合在线| 国产视频一区在线观看| 亚洲午夜日本在线观看| 国产福利视频一区二区三区| 欧美日韩日日夜夜| 国产精品电影院| 伦理电影国产精品| 91久久久免费一区二区| 久久精品夜色噜噜亚洲a∨| 午夜精品免费在线| 91视视频在线观看入口直接观看www | 日韩欧美国产系列| 亚洲精品中文在线影院| 国产馆精品极品| 欧美一级国产精品| 亚洲高清中文字幕| 99久久99久久久精品齐齐| 精品捆绑美女sm三区| 亚洲成人中文在线| 91视频免费播放| 日本一区二区视频在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线亚洲一区二区| 中文字幕欧美激情| 国模少妇一区二区三区| 欧美一区二区三区免费大片| 亚洲一区免费视频| 91在线观看地址| 久久午夜电影网| 男人的j进女人的j一区| 欧美三级韩国三级日本一级| 亚洲丝袜另类动漫二区| 成人在线视频一区二区| 亚洲精品在线观看视频| 麻豆91精品91久久久的内涵| 欧美日韩免费电影| 亚洲不卡在线观看| 欧美色大人视频| 亚洲午夜成aⅴ人片| 欧美视频日韩视频在线观看| 一区二区三区在线高清| 91国内精品野花午夜精品| 亚洲欧美成人一区二区三区| 99re热这里只有精品视频| 亚洲欧洲国产专区| 99精品视频中文字幕| 亚洲男女毛片无遮挡| 色综合久久久久综合99| 亚洲视频在线一区二区| 一本一道综合狠狠老| 亚洲精品国久久99热| 欧洲精品一区二区三区在线观看| 亚洲黄网站在线观看| 欧美私模裸体表演在线观看| 亚洲国产欧美在线人成| 欧美丰满美乳xxx高潮www| 天天综合天天综合色| 51午夜精品国产| 蜜桃视频在线观看一区二区| 精品99999| 国产98色在线|日韩| 日韩美女啊v在线免费观看| 在线亚洲精品福利网址导航| 婷婷六月综合网| 欧美大片一区二区三区| 国产一区二区久久| 中文字幕一区二区三区不卡 | 图片区小说区国产精品视频| 91麻豆精品国产综合久久久久久| 蜜桃视频第一区免费观看| 2022国产精品视频| 成人av资源站| 亚洲18色成人| 日韩一级精品视频在线观看| 国产一区二区三区综合| 中文字幕中文字幕一区二区| 在线观看亚洲成人| 久久精品国产亚洲一区二区三区 | 亚洲一区二区三区四区在线观看| 欧美精品日韩一本| 国产福利一区二区三区视频在线| 亚洲三级在线观看| 欧美成人vps| 9i在线看片成人免费| 日韩电影一二三区| 国产视频视频一区| 欧美撒尿777hd撒尿| 精品一区二区日韩| 亚洲三级视频在线观看| 日韩欧美自拍偷拍| av在线播放不卡| 麻豆成人av在线| 中文字幕日本乱码精品影院| 这里只有精品99re| 成人av免费在线| 日韩成人精品在线观看| 日本一区二区三区电影| 欧美日韩精品一区二区三区| 国产一区视频在线看| 一区二区久久久久久| 久久免费看少妇高潮| 欧美日韩精品综合在线| 成人涩涩免费视频| 99国产精品国产精品毛片| 免费成人你懂的| 亚洲免费视频成人| 国产欧美日韩卡一| 日韩一区二区三区观看| 日本黄色一区二区| 国产高清精品在线| 美美哒免费高清在线观看视频一区二区 | 91.com视频| 99re这里只有精品6| 国产精品一二三在|