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

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

?? rxctlreg.pas

?? RX Library contains a large number of components, objects and routines for Borland Delphi with full
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{*******************************************************}
{                                                       }
{         Delphi VCL Extensions (RX)                    }
{                                                       }
{         Copyright (c) 1995, 1996 AO ROSNO             }
{         Copyright (c) 1997, 1998 Master-Bank          }
{                                                       }
{*******************************************************}

{ Note:
  - in Delphi 4.0 you must add DCLSTD40 and DCLSMP40 to the requires
    page of the package you install this components into.
  - in Delphi 3.0 you must add DCLSTD30 and DCLSMP30 to the requires
    page of the package you install this components into.
  - in C++Builder 3.0 you must add DCLSTD35 to the requires page of the
    package you install this components into. }

unit RxCtlReg;

{$I RX.INC}
{$D-,L-,S-}

interface

{ Register custom useful controls }

procedure Register;

implementation

{$IFDEF WIN32}
 {$R *.D32}
{$ELSE}
 {$R *.D16}
{$ENDIF}

uses {$IFDEF WIN32} Windows, {$ELSE} WinTypes, {$ENDIF} Classes, SysUtils,
  RTLConsts, DesignIntf, DesignEditors, VCLEditors, TypInfo, Controls, Graphics, ExtCtrls, Tabs, Dialogs, Forms,
  {$IFDEF RX_D3} DsnConst, ExtDlgs, {$ELSE} LibConst, {$ENDIF} 
{$IFDEF DCS}
  {$IFDEF RX_D4} ImgEdit, {$ENDIF} {$IFDEF WIN32} ImgList, {$ENDIF}
{$ENDIF DCS}
  {$IFDEF WIN32} RxRichEd, {$ENDIF} Menus, FiltEdit, StdCtrls, Buttons,
  RxLConst, RxCtrls, RxGrids, CurrEdit, ToolEdit, HintProp, DateUtil,
  PickDate, RxSplit, RxSlider, RxClock, Animate, RxCombos, RxSpin, Consts,
  RxDice, RxSwitch, CheckItm, VCLUtils, RxColors, AniFile, RxGraph,
  {$IFDEF USE_RX_GIF} RxGIF, GIFCtrl, {$ENDIF} RxHints, ExcptDlg, RxCConst,
  FileUtil, RxDsgn;

{$IFNDEF RX_D3}

{ TDateProperty }

type
  TDateProperty = class(TFloatProperty)
  public
    function GetValue: string; override;
    procedure SetValue(const Value: string); override;
  end;

function TDateProperty.GetValue: string;
begin
  if GetFloatValue = NullDate then Result := ''
  else Result := FormatDateTime(ShortDateFormat, GetFloatValue);
end;

procedure TDateProperty.SetValue(const Value: string);
begin
  if Value = '' then SetFloatValue(NullDate)
  else SetFloatValue(StrToDateFmt(ShortDateFormat, Value));
end;

{ TRxModalResultProperty }

type
  TRxModalResultProperty = class(TModalResultProperty)
  public
    function GetValue: string; override;
    procedure GetValues(Proc: TGetStrProc); override;
    procedure SetValue(const Value: string); override;
  end;

const
  ModalResults: array[mrAll..mrYesToAll] of string = (
    'mrAll',
    'mrNoToAll',
    'mrYesToAll');

function TRxModalResultProperty.GetValue: string;
var
  CurValue: Longint;
begin
  CurValue := GetOrdValue;
  case CurValue of
    Low(ModalResults)..High(ModalResults):
      Result := ModalResults[CurValue];
    else Result := inherited GetValue;
  end;
end;

procedure TRxModalResultProperty.GetValues(Proc: TGetStrProc);
var
  I: Integer;
begin
  inherited GetValues(Proc);
  for I := Low(ModalResults) to High(ModalResults) do
    Proc(ModalResults[I]);
end;

procedure TRxModalResultProperty.SetValue(const Value: string);
var
  I: Integer;
begin
  if (Value <> '') then
    for I := Low(ModalResults) to High(ModalResults) do
      if CompareText(ModalResults[I], Value) = 0 then begin
        SetOrdValue(I);
        Exit;
      end;
  inherited SetValue(Value);
end;

{$ENDIF RX_D3}

function ValueName(E: Extended): string;
begin
  if E = High(Integer) then Result := 'MaxInt'
  else if E = Low(Integer) then Result := 'MinInt'
  else if E = High(Longint) then Result := 'MaxLong'
  else if E = Low(Longint) then Result := 'MinLong'
  else if E = High(ShortInt) then Result := 'MaxShort'
  else if E = Low(ShortInt) then Result := 'MinShort'
  else if E = High(Word) then Result := 'MaxWord'
  else Result := '';
end;

function StrToValue(const S: string): Longint;
begin
  if CompareText(S, 'MaxLong') = 0 then Result := High(Longint)
  else if CompareText(S, 'MinLong') = 0 then Result := Low(Longint)
  else if CompareText(S, 'MaxInt') = 0 then Result := High(Integer)
  else if CompareText(S, 'MinInt') = 0 then Result := Low(Integer)
  else if CompareText(S, 'MaxShort') = 0 then Result := High(ShortInt)
  else if CompareText(S, 'MinShort') = 0 then Result := Low(ShortInt)
  else if CompareText(S, 'MaxWord') = 0 then Result := High(Word)
  else Result := 0;
end;

{ TRxIntegerProperty }

type
  TRxIntegerProperty = class(TIntegerProperty)
  public
    function GetValue: string; override;
    procedure SetValue(const Value: string); override;
  end;

function TRxIntegerProperty.GetValue: string;
begin
  Result := ValueName(GetOrdValue);
  if Result = '' then Result := IntToStr(GetOrdValue);
end;

procedure TRxIntegerProperty.SetValue(const Value: String);
var
  L: Longint;
begin
  L := StrToValue(Value);
  if L = 0 then L := StrToInt(Value);
  inherited SetValue(IntToStr(L));
end;

{ TRxFloatProperty }

type
  TRxFloatProperty = class(TFloatProperty)
  public
    function GetValue: string; override;
    procedure SetValue(const Value: string); override;
  end;

function TRxFloatProperty.GetValue: string;
const
{$IFDEF WIN32}
  Precisions: array[TFloatType] of Integer = (7, 15, 18, 18, 18);
{$ELSE}
  Precisions: array[TFloatType] of Integer = (7, 15, 18, 18);
{$ENDIF}
begin
  Result := ValueName(GetFloatValue);
  if Result = '' then
    Result := FloatToStrF(GetFloatValue, ffGeneral,
      Precisions[GetTypeData(GetPropType)^.FloatType], 0);
end;

procedure TRxFloatProperty.SetValue(const Value: string);
var
  L: Longint;
begin
  L := StrToValue(Value);
  if L <> 0 then SetFloatValue(L)
  else SetFloatValue(StrToFloat(Value));
end;

{ TPaintBoxEditor }

type
  TPaintBoxEditor = class(TDefaultEditor)
  public
    procedure EditProperty(const Prop: IProperty; var Continue: Boolean); override;
  end;

procedure TPaintBoxEditor.EditProperty(const Prop: IProperty; var Continue: Boolean);
begin
  if CompareText(Prop.GetName, 'OnPaint') = 0 then begin
    Prop.Edit;
    Continue := False;
  end
  else inherited EditProperty(Prop, Continue);
end;

{ TAnimatedEditor }

type
  TAnimatedEditor = class(TComponentEditor)
  private
    FContinue: Boolean;
    procedure CheckEdit(const Prop: IProperty);
    procedure EditImage(Image: TAnimatedImage);
    procedure LoadAniFile(Image: TAnimatedImage);
  public
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
  end;

procedure TAnimatedEditor.CheckEdit(const Prop: IProperty);
begin
  try
    if FContinue and (CompareText(Prop.GetName, 'GLYPH') = 0) then
    begin
      Prop.Edit;
      FContinue := False;
    end;
  finally
    //Prop.Free;
  end;
end;

procedure TAnimatedEditor.EditImage(Image: TAnimatedImage);
var
  Components: IDesignerSelections;
begin
  Components := CreateSelectionList;
  try
    FContinue := True;
    Components.Add(Component);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成国产人片在线观看| 国产精品99久久久久| 久久99精品视频| 日本乱人伦aⅴ精品| 久久综合色鬼综合色| 午夜久久久久久久久久一区二区| 国产乱码精品一品二品| 欧美顶级少妇做爰| 亚洲男同1069视频| 成人白浆超碰人人人人| 久久精品人人做人人爽人人| 日韩精品国产欧美| 色欧美日韩亚洲| 国产精品盗摄一区二区三区| 韩国av一区二区| 日韩视频在线永久播放| 亚洲成人动漫在线免费观看| 色老汉一区二区三区| 综合自拍亚洲综合图不卡区| 岛国一区二区在线观看| 久久久精品日韩欧美| 久热成人在线视频| 制服.丝袜.亚洲.中文.综合| 一区二区在线观看视频在线观看| 丁香婷婷综合激情五月色| 久久这里只有精品视频网| 美女脱光内衣内裤视频久久网站 | 在线观看三级视频欧美| 国产精品天天看| 高清shemale亚洲人妖| 久久奇米777| 国产精品69毛片高清亚洲| 欧美mv日韩mv亚洲| 精品一区二区在线免费观看| 日韩女优av电影| 国产麻豆91精品| 国产婷婷色一区二区三区| 国产精品主播直播| 国产精品久久久久影院亚瑟| 成人av网站在线观看免费| 国产精品青草综合久久久久99| 成人激情免费网站| 亚洲人成网站精品片在线观看 | 另类专区欧美蜜桃臀第一页| 日韩欧美的一区二区| 精一区二区三区| 国产亚洲午夜高清国产拍精品| 国产美女娇喘av呻吟久久| 中文字幕免费不卡在线| 91无套直看片红桃| 天堂成人国产精品一区| 精品裸体舞一区二区三区| 国产不卡高清在线观看视频| 亚洲三级在线免费| 欧美高清视频在线高清观看mv色露露十八 | 国产综合色产在线精品| 国产亚洲午夜高清国产拍精品| 成人av动漫网站| 亚洲精品亚洲人成人网| 欧美喷潮久久久xxxxx| 蜜臀a∨国产成人精品| 国产精品情趣视频| 欧美日本一区二区三区四区| 国产精品乡下勾搭老头1| 一区二区三区高清不卡| 欧美xxx久久| 91精彩视频在线| 狠狠色狠狠色综合日日91app| 国产精品第一页第二页第三页| 欧美日韩一级二级| 国产精品一二三四| 性做久久久久久| 国产精品免费免费| 欧美视频一区二区三区四区| 国产超碰在线一区| 五月婷婷久久丁香| 国产精品美女视频| 欧美xingq一区二区| 色久综合一二码| 国产精品77777竹菊影视小说| 亚洲电影一区二区| 中文字幕人成不卡一区| 欧美xxx久久| 欧美理论电影在线| 99在线视频精品| 国内久久精品视频| 香蕉久久夜色精品国产使用方法| 国产精品人人做人人爽人人添 | 91视频一区二区三区| 激情深爱一区二区| 五月综合激情日本mⅴ| 亚洲成av人片在线观看| 日本一区二区电影| 精品粉嫩aⅴ一区二区三区四区| 在线免费观看一区| av在线综合网| 国产成人高清视频| 精品一区二区三区视频| 视频一区欧美日韩| 一区二区三区在线播放| 国产精品不卡在线| 国产日韩欧美在线一区| 日韩三级中文字幕| 在线综合视频播放| 欧美日韩国产电影| 欧美精品粉嫩高潮一区二区| 91国产成人在线| 在线免费不卡电影| 91视频在线观看| 色婷婷精品久久二区二区蜜臂av| 国产精品77777| 国产成人午夜视频| 成人一区在线看| 国模冰冰炮一区二区| 黄页视频在线91| 国产精品自拍三区| 国产盗摄一区二区| 国产成人高清视频| 成人精品一区二区三区四区| 成人激情开心网| 99久久精品久久久久久清纯| 91免费看`日韩一区二区| 日本久久电影网| 欧美色综合影院| 欧美老女人在线| 日韩免费性生活视频播放| 精品国产一区a| 中文字幕欧美激情一区| 亚洲欧美二区三区| 午夜久久久影院| 久99久精品视频免费观看| 国产精品一区一区三区| 成人高清在线视频| 欧洲人成人精品| 日韩一区二区在线播放| 国产亚洲一二三区| 亚洲欧美视频在线观看| 亚洲一二三四在线| 另类综合日韩欧美亚洲| 丁香婷婷综合色啪| 欧美性欧美巨大黑白大战| 91超碰这里只有精品国产| 精品国产免费视频| 亚洲欧美日韩在线不卡| 天天色天天爱天天射综合| 精彩视频一区二区| 一本久久综合亚洲鲁鲁五月天 | 精品国产乱码久久| 国产精品超碰97尤物18| 日韩精品欧美精品| 成人综合在线网站| 这里是久久伊人| 国产精品女人毛片| 日韩高清在线不卡| 成人福利视频网站| 91精品国产色综合久久久蜜香臀| 国产欧美日韩精品在线| 亚洲va韩国va欧美va精品| 国产成人自拍在线| 欧美精品在线视频| 中文字幕一区二区三区不卡 | 欧美日韩国产综合草草| 国产亚洲欧美激情| 亚洲国产cao| 欧美日韩在线三区| 久久影视一区二区| 亚洲一区二区在线播放相泽| 国产精品一区在线观看你懂的| 欧美色涩在线第一页| 国产精品色婷婷| 麻豆精品视频在线| 欧美性猛交xxxxxx富婆| 中文字幕欧美日本乱码一线二线| 男女性色大片免费观看一区二区 | 欧美韩国日本不卡| 秋霞成人午夜伦在线观看| 色屁屁一区二区| 国产精品免费免费| 国产麻豆91精品| 久久综合国产精品| 爽好多水快深点欧美视频| 91国内精品野花午夜精品| 国产精品国产三级国产有无不卡| 精品亚洲成a人| 日韩精品资源二区在线| 午夜不卡av在线| 欧美日本精品一区二区三区| 亚洲精品视频自拍| 色综合久久综合| 1000部国产精品成人观看| 成人精品免费网站| 久久久av毛片精品| 国产九九视频一区二区三区| 欧美一级免费观看| 免费在线观看日韩欧美| 欧美日韩一级视频| 视频在线观看国产精品| 91精品一区二区三区久久久久久| 性做久久久久久久免费看| 欧美日韩一区 二区 三区 久久精品|