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

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

?? qicomponent.pas

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

{$ifdef iVCL}unit  iComponent;{$endif}
{$ifdef iCLX}unit QiComponent;{$endif}

interface

uses
  {$I iIncludeUses.inc}
  {$IFDEF iVCL} iTypes, iGPFunctions,   iMath, ActiveX;{$ENDIF}
  {$IFDEF iCLX}QiTypes, QiGPFunctions, QiMath;         {$ENDIF}

type
  TiPaintEvent = procedure(Sender: TObject; Canvas: TCanvas) of object;

  TiComponent = class(TCustomControl)
  private
    FOnPaint                      : TiPaintEvent;
    FCreationTime                 : Double;
   {$IFDEF EVAL}
    FFirstEvalExpiredPainted      : Boolean;
    {$ENDIF}
    FUpdateActive                 : Boolean;
    FUpdateFrameRate              : Integer;
    FLastUpdate                   : Double;
    FNeedsInvalidateChange        : Boolean;
    FNeedsBackGroundChange        : Boolean;
    FBackGroundBitmap             : TBitmap;
    FOffScreenBitmap              : TBitmap;
    FBackGroundPicture            : TBitmap;
    FBackGroundColor              : TColor;
    FBackGroundChanged            : Boolean;
    FBorderStyle                  : TiBevelStyle;
    FOffsetY                      : Integer;
    FOffsetX                      : Integer;
    FHasFocus                     : Boolean;
    FOnChangeProtected            : TChangePropertyEvent;
    FOnRequestEdit                : TRequestEditEvent;
    FAutoFrameRate                : Boolean;
    FLoading                      : Boolean;
    FOnGetDesigning               : TGetDesigningEvent;
    FActiveXDesigning             : Boolean;
    FCachedDrawing                : Boolean;
    FOptionSaveAllProperties      : Boolean;
    FUserGenerated                : Boolean;

    FErrorActive                  : Boolean;
    FErrorText                    : String;
    FErrorBackGroundColor         : TColor;
    FErrorFont                    : TFont;
  protected
    function GetCenterPointDouble(Canvas:TCanvas): TPointDouble;
    function GetLoading           : Boolean;
    function GetBorderMargin      : Integer;
    function GetCenterPoint     (Canvas:TCanvas): TPoint;                    virtual;

    procedure SetOffsetX             (const Value: Integer);
    procedure SetOffsetY             (const Value: Integer);
    procedure SetBackGroundPicture   (const Value: TBitmap);
    procedure SetUpdateFrameRate     (const Value: Integer);
    procedure SetAutoFrameRate       (const Value: Boolean);
    procedure SetCachedDrawing       (const Value: Boolean);      virtual;
    procedure SetBorderStyle         (const Value: TiBevelStyle); virtual;
    procedure SetBackGroundColor     (const Value: TColor      ); virtual;

    procedure SetErrorActive         (const Value: Boolean);
    procedure SetErrorText           (const Value: String);
    procedure SetErrorBackGroundColor(const Value: TColor);
    procedure SetErrorFont           (const Value: TFont);

    procedure DrawBackGround      (Canvas: TCanvas; BackGroundColor: TColor); virtual;
    procedure DrawBorder          (Canvas: TCanvas);                          virtual;

    procedure CreateBackGroundBitmap;
    procedure CreateOffScreenBitmap;

    procedure ShowOffScreenBitmap (Bitmap: TBitmap);
    procedure ShowBackGround;

    procedure BackGroundChange;
    procedure InvalidateChange;                  
    procedure InvalidateNow;

    procedure BackGroundChangeEvent(Sender : TObject);
    procedure InvalidateChangeEvent(Sender : TObject);
    procedure InvalidateNowEvent   (Sender : TObject);

    function  GetIsDesigning: Boolean;
    function  GetBackGroundBitmap: TBitmap;
                                                      
    procedure ResetBackGroundChange;
    procedure TransferBackGround(Canvas: TCanvas);
    procedure DoRepaintType(Value : TiRepaintType);
    property  BackGroundBitmap  : TBitmap      read GetBackGroundBitmap;
    property  BackGroundChanged : Boolean      read FBackGroundChanged;

    procedure SetLoading(Value: Boolean);

    function  GetPropertyType(Instance: TPersistent; Path: String; PropertyName: String): TiTypeKind;

    procedure PropertyVarType(PropertyName: String; var AVarType: TiTypeKind);

    function  GetTimerRunning : Boolean;                   virtual; abstract;
    procedure TimerStart(InitialDelay, Interval: Integer); virtual; abstract;
    procedure TimerStop;                                   virtual; abstract;

    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure MouseUp  (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure MouseMove(                      Shift: TShiftState; X, Y: Integer); override;

    procedure DblClick;                                                           override;

    procedure KeyDown (var Key: Word; Shift: TShiftState); override;
    procedure KeyUp   (var Key: Word; Shift: TShiftState); override;
    procedure KeyPress(var Key: Char);                     override;

    function OPCOutputData(PropertyName: String; Value: OleVariant): Boolean; virtual;

    procedure iDoSetFocus;  virtual;
    procedure iDoKillFocus; virtual;

    procedure iWantSpecialKey(var CharCode: Word; var Result: Longint); virtual;
    procedure iKeyUp         (var CharCode: Word; Shift: TShiftState);  virtual;
    procedure iKeyDown       (var CharCode: Word; Shift: TShiftState);  virtual;
    procedure iKeyPress      (var Key: Char);                           virtual;

    procedure iMouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer         );          virtual;
    procedure iMouseUp   (Button: TMouseButton; Shift: TShiftState; X, Y: Integer         );          virtual;
    procedure iMouseMove (                      Shift: TShiftState; X, Y: Integer         );          virtual;

    procedure iDoubleClick;                                                                           virtual;

    function  iMouseWheel(WheelDelta: Integer;  Shift: TShiftState; const MousePos: TPoint): Boolean; virtual;

    function  GetXYRadPoint(AngleDegrees, Radius: Double; Offset : TPoint) : TPoint;

    procedure Paint;                     override;

    procedure PaintToDC;
    procedure PaintToMetaFile;
    procedure PaintEvalExpired;
    procedure iPaintTo(Canvas: TCanvas); virtual; abstract;

    procedure CreateBackGroundPicture;

    property  BackGroundColor   : TColor       read FBackGroundColor   write SetBackGroundColor    default clBtnFace;
    property  BackGroundPicture : TBitmap      read FBackGroundPicture write SetBackGroundPicture;
    property  OffsetX           : Integer      read FOffsetX           write SetOffsetX            default 0;
    property  OffsetY           : Integer      read FOffsetY           write SetOffsetY            default 0;

    property  CachedDrawing     : Boolean      read FCachedDrawing     write SetCachedDrawing      default True;

    procedure SetBooleanProperty(Value : Boolean; var FVariable : Boolean; RepaintType : TiRepaintType);
    procedure SetIntegerProperty(Value : Integer; var FVariable : Integer; RepaintType : TiRepaintType);
    procedure SetDoubleProperty (Value : Double;  var FVariable : Double;  RepaintType : TiRepaintType);
    procedure SetStringProperty (Value : String;  var FVariable : String;  RepaintType : TiRepaintType);
    procedure SetColorProperty  (Value : TColor;  var FVariable : TColor;  RepaintType : TiRepaintType);
    procedure SetWideStringProperty(Value: WideString; var FVariable: WideString; RepaintType: TiRepaintType);

    procedure DoRepaint;
    procedure DoFrameRate;
    procedure DoIsDesigning(Sender: TObject; var Designing: Boolean);

    property  HasFocus              : Boolean              read FHasFocus;
    property  Loading               : Boolean              read GetLoading;
    property  UpdateActive          : Boolean              read FUpdateActive;

    property OnRequestEditProtected : TRequestEditEvent    read FOnRequestEdit        write FOnRequestEdit;
    property OnChangeProtected      : TChangePropertyEvent read FOnChangeProtected    write FOnChangeProtected;

    property OnPaint                : TiPaintEvent         read FOnPaint              write FOnPaint;

    property BorderMargin           : Integer              read GetBorderMargin;

    property IsDesigning            : Boolean              read GetIsDesigning;
    property OnGetDesigning         : TGetDesigningEvent   read FOnGetDesigning       write FOnGetDesigning;
    property ActiveXDesigning       : Boolean              read FActiveXDesigning     write FActiveXDesigning;

    property UserGenerated          : Boolean              read FUserGenerated        write FUserGenerated;

    property ErrorActive            : Boolean              read FErrorActive          write SetErrorActive;
    property ErrorText              : String               read FErrorText            write SetErrorText;
    property ErrorFont              : TFont                read FErrorFont            write SetErrorFont;
    property ErrorBackGroundColor   : TColor               read FErrorBackGroundColor write SetErrorBackGroundColor;
  public
    property    BorderStyle         : TiBevelStyle         read FBorderStyle       write SetBorderStyle        default ibsNone;

    constructor Create(AOwner: TComponent);                       override;
    destructor  Destroy;                                          override;
    procedure   RepaintAll;  virtual;
    procedure   BeginUpdate; virtual;
    procedure   EndUpdate;   virtual;
    procedure   Lock;        virtual; abstract;
    procedure   Unlock;      virtual; abstract;

    procedure SaveImageToBitmap  (FileName: String);

    procedure SavePropertiesToFile  (FileName: String); virtual;
    procedure LoadPropertiesFromFile(FileName: String); virtual;
  published
    property Visible;
    property Enabled;
    property ShowHint;
    property PopupMenu;
    property OnClick;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnStartDrag;
    property OnEndDrag;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnEnter;
    property OnExit;

    property OptionSaveAllProperties : Boolean read FOptionSaveAllProperties write FOptionSaveAllProperties default False;
    property AutoFrameRate           : Boolean read FAutoFrameRate           write SetAutoFrameRate         default False;
    property UpdateFrameRate         : Integer read FUpdateFrameRate         write SetUpdateFrameRate       default 60;
  end;

{$ifdef iVCL}{$R  iIocompCommon.res} {$endif}
{$ifdef iCLX}{$R QiIocompCommon.res}{$endif}

implementation

type
  TWinControlAccess = class(TWinControl) end;
//****************************************************************************************************************************************************
constructor TiComponent.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := [csCaptureMouse, csClickEvents, csDoubleClicks, csReplicatable, csOpaque];

  FCreationTime      := Now;
  FBackGroundColor   := clBtnFace;
  FBackGroundChanged := True;                                                   
  FLastUpdate        := Now;
  FCachedDrawing     := True;
  FUpdateFrameRate   := 60;
  FAutoFrameRate     := False;

  FErrorFont := TFont.Create;
  with FErrorFont do
    begin
      FErrorFont.Color := clRed;
      FErrorFont.Style := [fsBold];
      OnChange := InvalidateChangeEvent;
    end;

  FErrorText := 'Error';
end;
//****************************************************************************************************************************************************
destructor TiComponent.Destroy;
begin
  if Assigned(FBackGroundBitmap)  then FBackGroundBitmap.Free;
  if Assigned(FBackGroundPicture) then FBackGroundPicture.Free;

  FErrorFont.Free;
  inherited;
end;
//****************************************************************************************************************************************************
procedure TiComponent.SetBackGroundPicture(const Value: TBitmap);
begin
  FBackGroundPicture.Assign(Value);
end;
//****************************************************************************************************************************************************
procedure TiComponent.DoRepaint;
begin
  FNeedsBackGroundChange := False;
  FNeedsInvalidateChange := False;
  FLastUpdate            := Now;
  Invalidate;
end;
//****************************************************************************************************************************************************
procedure TiComponent.DoFrameRate;
var
  UpdateInterval : Double;
begin
  if not FAutoFrameRate   then
    begin
      DoRepaint;
      Exit;
    end;

  if FUpdateFrameRate = 0 then
    begin
      DoRepaint;
      Exit;
    end;

  UpdateInterval := 1/(FUpdateFrameRate *24*60*60);
  if Now > (FLastUpdate + UpdateInterval) then DoRepaint;
end;
//****************************************************************************************************************************************************
procedure TiComponent.BeginUpdate;
begin
  FUpdateActive := True;
end;
//****************************************************************************************************************************************************
procedure TiComponent.EndUpdate;
begin
  FUpdateActive := False;

  if FNeedsBackGroundChange or FNeedsInvalidateChange then DoFrameRate
end;
//****************************************************************************************************************************************************
procedure TiComponent.BackGroundChange;
begin
  FBackGroundChanged := True;

  if FUpdateActive then
    begin
      FNeedsBackGroundChange := True;
    end
  else if FAutoFrameRate then
    begin
      FNeedsBackGroundChange := True;
      DoFrameRate;
    end
  else DoRepaint;
end;
//****************************************************************************************************************************************************
procedure TiComponent.InvalidateChange;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品电影| 99re成人精品视频| 99久久精品国产麻豆演员表| 欧美大片顶级少妇| 国内精品视频666| 国产欧美日韩另类视频免费观看| 国产91精品一区二区麻豆网站| 国产日韩欧美电影| 色综合天天综合网天天看片| 亚洲成在人线在线播放| 日韩欧美国产一区在线观看| 丰满亚洲少妇av| 一区二区免费视频| 精品国产乱码久久久久久老虎 | 中文字幕在线一区免费| 91亚洲精品一区二区乱码| 亚洲一区二区三区四区不卡| 日韩精品在线网站| caoporn国产一区二区| 亚洲成人综合视频| 尤物视频一区二区| 日韩一区二区在线免费观看| 国产精品主播直播| 亚洲小少妇裸体bbw| 欧美刺激脚交jootjob| 波多野结衣欧美| 图片区小说区国产精品视频| 国产亚洲一区二区三区| 欧美专区在线观看一区| 国产一区二区三区美女| 亚洲综合在线观看视频| 精品少妇一区二区三区日产乱码| 成人精品一区二区三区中文字幕| 午夜影院久久久| 久久久精品国产免费观看同学| 91看片淫黄大片一级| 美女视频黄免费的久久 | 日韩欧美国产一区二区在线播放| 成人免费毛片a| 免费成人在线观看视频| 一区二区三区日韩精品视频| 精品粉嫩超白一线天av| 91传媒视频在线播放| 国产电影精品久久禁18| 日韩在线一区二区三区| 亚洲欧洲精品天堂一级| 精品国产免费人成在线观看| 欧美视频一区二区三区| 99久久久久免费精品国产| 国内久久精品视频| 日韩国产成人精品| 亚洲精品视频在线观看免费| 中文字幕精品综合| 精品福利一二区| 欧美一区二区在线视频| 日本韩国精品一区二区在线观看| 成人午夜伦理影院| 国产成人在线网站| 国产一区亚洲一区| 久久国产三级精品| 日韩影院精彩在线| 天天色综合天天| 亚洲国产精品麻豆| 亚洲与欧洲av电影| 一区二区三区电影在线播| 亚洲伦在线观看| 亚洲色图第一区| 中文字幕亚洲不卡| 成人免费在线视频| 日韩一区中文字幕| 亚洲品质自拍视频| 亚洲最新在线观看| 亚洲一区二区三区四区在线免费观看 | 国产一区二区三区在线看麻豆| 青草国产精品久久久久久| 午夜精品福利一区二区三区蜜桃| 亚洲一区二区三区爽爽爽爽爽 | 欧美电影免费观看高清完整版在线 | 91丨九色丨蝌蚪丨老版| 99视频精品免费视频| 色综合久久六月婷婷中文字幕| 大陆成人av片| 96av麻豆蜜桃一区二区| 色婷婷狠狠综合| 欧美日韩一区成人| 欧美人狂配大交3d怪物一区| 欧美精品乱码久久久久久| 91精品国产综合久久香蕉麻豆| 91精品福利在线一区二区三区| 在线91免费看| www久久久久| 国产精品天美传媒| 亚洲黄色性网站| 亚洲国产sm捆绑调教视频| 免播放器亚洲一区| 国产精品77777| 色综合欧美在线| 91精品综合久久久久久| 久久久久国产精品麻豆| 国产精品美女久久久久久2018| 亚洲欧洲综合另类| 日本午夜精品一区二区三区电影| 国内精品国产成人国产三级粉色| 国产成人无遮挡在线视频| 91蝌蚪porny| 精品日韩一区二区三区| 中文字幕+乱码+中文字幕一区| 亚洲女与黑人做爰| 蜜臂av日日欢夜夜爽一区| 国产一区二三区| 91国偷自产一区二区三区成为亚洲经典| 欧美日韩在线播放三区| 久久免费偷拍视频| 亚洲精品自拍动漫在线| 久久国产精品一区二区| 91尤物视频在线观看| 欧美一二三区在线观看| 亚洲欧美综合在线精品| 免费的成人av| 色婷婷激情综合| 国产亚洲人成网站| 午夜欧美一区二区三区在线播放| 国产精品一区二区视频| 欧美日韩中文精品| 久久久99久久精品欧美| 亚洲精品乱码久久久久久| 激情文学综合插| 欧美日本视频在线| 中文字幕一区二区三区av| 免费成人av在线播放| 91黄色免费网站| 国产欧美精品一区二区色综合朱莉| 亚洲超碰精品一区二区| 99视频一区二区三区| 久久久午夜精品| 日韩高清不卡一区二区三区| 97久久超碰国产精品| 久久日一线二线三线suv| 日韩精品一区第一页| 一本一道综合狠狠老| 日本一区二区三区电影| 麻豆精品久久精品色综合| 欧美图片一区二区三区| 国产精品久久久久久久久久久免费看| 久久精品国产99| 91精品国产综合久久久久久久久久| 亚洲日本欧美天堂| heyzo一本久久综合| 国产欧美一区二区三区鸳鸯浴| 麻豆专区一区二区三区四区五区| 欧美色中文字幕| 一区二区三区 在线观看视频 | 九九热在线视频观看这里只有精品| 欧美三片在线视频观看| 亚洲激情成人在线| 91麻豆国产福利在线观看| 中文一区二区完整视频在线观看| 激情图片小说一区| 91久久精品网| 夜夜嗨av一区二区三区网页 | 久久精品在线观看| 狠狠色狠狠色合久久伊人| 欧美一级精品大片| 麻豆91精品视频| 日韩视频在线你懂得| 男男成人高潮片免费网站| 欧美精品成人一区二区三区四区| 亚洲图片欧美一区| 欧美高清视频www夜色资源网| 午夜欧美在线一二页| 欧美高清视频一二三区| 日本在线不卡视频一二三区| 欧美精品久久久久久久多人混战 | 久久众筹精品私拍模特| 久久国产精品99久久人人澡| 精品久久五月天| 国产不卡视频一区二区三区| 国产精品欧美一区喷水| 91在线码无精品| 亚洲成在线观看| 日韩一区二区视频在线观看| 九九国产精品视频| 国产欧美日韩在线看| 色婷婷av一区二区| 午夜激情综合网| 久久亚洲春色中文字幕久久久| 高清在线不卡av| 亚洲自拍偷拍综合| 7799精品视频| 国产精品一区二区在线播放 | 国产成人综合网站| 亚洲欧洲国产日本综合| 欧美在线你懂得| 久久精品国产999大香线蕉| 国产精品乱码人人做人人爱 | 亚洲美女偷拍久久| 欧美一区二区三区免费在线看 | 色综合 综合色| 日本 国产 欧美色综合| 久久精品无码一区二区三区|