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

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

?? rxcolors.pas

?? RX Library contains a large number of components, objects and routines for Borland Delphi with full
?? PAS
字號(hào):
{*******************************************************}
{                                                       }
{         Delphi VCL Extensions (RX)                    }
{                                                       }
{         Copyright (c) 1997 Master-Bank                }
{                                                       }
{*******************************************************}

unit RXColors;

{$C PRELOAD}
{$I RX.INC}

interface

uses Classes, Controls, Graphics, Forms, VCLUtils;

function RxIdentToColor(const Ident: string; var Color: Longint): Boolean;
function RxColorToString(Color: TColor): string;
function RxStringToColor(S: string): TColor;
procedure RxGetColorValues(Proc: TGetStrProc);

procedure RegisterRxColors;

implementation

uses Windows, RTLConsts, SysUtils, DesignIntf, DesignEditors, VCLEditors;

type
  TColorEntry = record
    Value: TColor;
    Name: PChar;
  end;

const
{$IFDEF WIN32}
  clInfoBk16 = TColor($02E1FFFF);
  clNone16 = TColor($02FFFFFF);
  ColorCount = 3;
{$ELSE}
  ColorCount = 5;
{$ENDIF}
  Colors: array[0..ColorCount - 1] of TColorEntry = (
{$IFNDEF WIN32}
    (Value: clInfoBk;      Name: 'clInfoBk'),
    (Value: clNone;        Name: 'clNone'),
{$ENDIF}
    (Value: clCream;       Name: 'clCream'),
    (Value: clMoneyGreen;  Name: 'clMoneyGreen'),
    (Value: clSkyBlue;     Name: 'clSkyBlue'));

function RxColorToString(Color: TColor): string;
var
  I: Integer;
begin
  if not ColorToIdent(Color, Result) then begin
    for I := Low(Colors) to High(Colors) do
      if Colors[I].Value = Color then
      begin
        Result := StrPas(Colors[I].Name);
        Exit;
      end;
    FmtStr(Result, '$%.8x', [Color]);
  end;
end;

function RxIdentToColor(const Ident: string; var Color: Longint): Boolean;
var
  I: Integer;
  Text: array[0..63] of Char;
begin
  StrPLCopy(Text, Ident, SizeOf(Text) - 1);
  for I := Low(Colors) to High(Colors) do
    if StrIComp(Colors[I].Name, Text) = 0 then begin
      Color := Colors[I].Value;
      Result := True;
      Exit;
    end;
  Result := IdentToColor(Ident, Color);
end;

function RxStringToColor(S: string): TColor;
begin
  if not RxIdentToColor(S, Longint(Result)) then
    Result := StringToColor(S);
end;

procedure RxGetColorValues(Proc: TGetStrProc);
var
  I: Integer;
begin
  GetColorValues(Proc);
  for I := Low(Colors) to High(Colors) do Proc(StrPas(Colors[I].Name));
end;

{ TRxColorProperty }

type
  TRxColorProperty = class(TColorProperty)
  public
    function GetValue: string; override;
    procedure GetValues(Proc: TGetStrProc); override;
    procedure SetValue(const Value: string); override;
    procedure ListDrawValue(const Value: string; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); virtual;
  end;

function TRxColorProperty.GetValue: string;
var
  Color: TColor;
begin
  Color := TColor(GetOrdValue);
{$IFDEF WIN32}
  if Color = clNone16 then Color := clNone
  else if Color = clInfoBk16 then Color := clInfoBk;
{$ENDIF}
  Result := RxColorToString(Color);
end;

procedure TRxColorProperty.GetValues(Proc: TGetStrProc);
begin
  RxGetColorValues(Proc);
end;

procedure TRxColorProperty.SetValue(const Value: string);
begin
  SetOrdValue(RxStringToColor(Value));
end;

procedure TRxColorProperty.ListDrawValue(const Value: string; ACanvas: TCanvas;
  const ARect: TRect; ASelected: Boolean);

  function ColorToBorderColor(AColor: TColor): TColor;
  type
    TColorQuad = record
      Red, Green, Blue, Alpha: Byte;
    end;
  begin
    if (TColorQuad(AColor).Red > 192) or (TColorQuad(AColor).Green > 192) or
       (TColorQuad(AColor).Blue > 192) then
      Result := clBlack
    else if ASelected then
      Result := clWhite
    else
      Result := AColor;
  end;

var
  vRight: Integer;
  vOldPenColor, vOldBrushColor: TColor;
begin
  vRight := (ARect.Bottom - ARect.Top) + ARect.Left;
  with ACanvas do
  try
    vOldPenColor := Pen.Color;
    vOldBrushColor := Brush.Color;
    Pen.Color := Brush.Color;
    Rectangle(ARect.Left, ARect.Top, vRight, ARect.Bottom);
    Brush.Color := RxStringToColor(Value);
    Pen.Color := ColorToBorderColor(ColorToRGB(Brush.Color));
    Rectangle(ARect.Left + 1, ARect.Top + 1, vRight - 1, ARect.Bottom - 1);
    Brush.Color := vOldBrushColor;
    Pen.Color := vOldPenColor;
  finally
    ACanvas.TextRect(Rect(vRight, ARect.Top, ARect.Right, ARect.Bottom),
      vRight + 1, ARect.Top + 1, Value);
  end;
end;


procedure RegisterRxColors;
begin
  RegisterPropertyEditor(TypeInfo(TColor), TPersistent, '', TRxColorProperty);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
69成人精品免费视频| 国产九九视频一区二区三区| 9人人澡人人爽人人精品| 国产亚洲精品7777| 懂色av一区二区三区蜜臀| 欧美激情在线免费观看| av电影在线观看完整版一区二区| 国产精品女上位| 色欧美88888久久久久久影院| 亚洲一区二区美女| 91精品免费在线观看| 久99久精品视频免费观看| 国产三级久久久| www.日韩在线| 日韩精品色哟哟| 国产午夜精品久久| 91论坛在线播放| 日本人妖一区二区| 久久久久久久久久看片| 在线免费观看日本欧美| 日韩精品亚洲一区| 国产精品午夜电影| 欧美日韩综合一区| 国产麻豆视频精品| 最新欧美精品一区二区三区| 欧美三级电影一区| 国产精品一区二区果冻传媒| 亚洲精品国产精华液| 欧美一级欧美一级在线播放| 国产成人av电影免费在线观看| 一个色综合av| 久久精品欧美一区二区三区不卡| 91久久久免费一区二区| 精品一区二区精品| 一区二区三区中文字幕电影| 日韩三区在线观看| 一本大道久久精品懂色aⅴ| 日韩专区在线视频| 67194成人在线观看| 成人夜色视频网站在线观看| 日韩国产在线一| 136国产福利精品导航| 欧美一级片免费看| 在线精品视频一区二区三四| 欧美天堂亚洲电影院在线播放| 奇米影视一区二区三区| 亚洲欧美二区三区| 久久久精品影视| 欧美人牲a欧美精品| 91香蕉视频黄| 高清在线观看日韩| 国产一区二区三区精品视频| 午夜久久久影院| 亚洲男人天堂av| 国产精品久99| 久久久青草青青国产亚洲免观| 777午夜精品免费视频| 色噜噜狠狠成人网p站| 成人av资源网站| 国产精品伊人色| 久久精品国产免费| 免费av网站大全久久| 亚洲成人av一区二区三区| 亚洲欧美激情插| 国产精品麻豆久久久| 国产色综合久久| 久久综合九色综合97_久久久 | 国产精品1区二区.| 强制捆绑调教一区二区| 亚洲va天堂va国产va久| 亚洲欧美国产77777| **欧美大码日韩| 国产精品欧美一区喷水| 日本一区二区成人| 国产精品丝袜一区| 国产欧美日韩精品一区| 久久精品无码一区二区三区| 日韩欧美久久一区| 欧美不卡一区二区| 久久老女人爱爱| 国产欧美精品在线观看| 亚洲国产日韩a在线播放性色| 亚洲欧洲精品一区二区三区| 中文字幕一区二区不卡| 亚洲欧美电影一区二区| 亚洲裸体xxx| 亚洲第一激情av| 天天综合网 天天综合色| 男人的天堂久久精品| 麻豆国产欧美日韩综合精品二区 | 蜜臀av一级做a爰片久久| 久热成人在线视频| 国产在线日韩欧美| 国产精品亚洲专一区二区三区| 国产精品羞羞答答xxdd| 风间由美一区二区三区在线观看| 99vv1com这只有精品| 欧美午夜精品一区二区蜜桃| 欧美日韩三级一区| 精品欧美一区二区久久| 国产亚洲精品aa午夜观看| 综合激情成人伊人| 日韩精品亚洲专区| 国产成人超碰人人澡人人澡| 99精品视频在线观看免费| 欧美亚洲高清一区二区三区不卡| 337p亚洲精品色噜噜噜| 国产亚洲女人久久久久毛片| 国产精品电影一区二区| 亚洲最大的成人av| 黄色精品一二区| 91在线免费看| 日韩视频在线一区二区| 国产欧美日韩亚州综合| 亚洲一区二区精品视频| 韩国成人在线视频| 91啦中文在线观看| 欧美一区二区三区在线看| 国产人成一区二区三区影院| 亚洲国产视频在线| 国产经典欧美精品| 欧美亚洲高清一区二区三区不卡| 日韩精品一区二| 亚洲精品国产精华液| 激情综合色综合久久综合| 91成人国产精品| 亚洲国产精品v| 午夜精品影院在线观看| 粉嫩欧美一区二区三区高清影视 | 欧美一级电影网站| 中文字幕一区视频| 久久精品国产成人一区二区三区| 91在线视频播放| 久久久久国产免费免费| 性久久久久久久久| 99久久精品国产导航| 精品人在线二区三区| 午夜在线成人av| 91一区二区在线| 国产婷婷一区二区| 蜜臀久久久久久久| 欧美亚洲国产bt| 亚洲精品五月天| 成人福利电影精品一区二区在线观看 | 欧美一区二区三区四区五区| 亚洲欧美在线观看| 国产福利一区二区三区视频| 制服.丝袜.亚洲.另类.中文| 亚洲精品日韩综合观看成人91| 国产成人aaa| 久久久久国产成人精品亚洲午夜| 日本欧美久久久久免费播放网| 精品视频一区二区三区免费| 亚洲丝袜精品丝袜在线| 成人伦理片在线| 日本一区免费视频| 国产美女一区二区三区| 日韩无一区二区| 奇米色一区二区| 日韩写真欧美这视频| 日韩精品亚洲一区二区三区免费| 欧美日韩精品欧美日韩精品一 | 色婷婷激情综合| 亚洲欧洲99久久| www.欧美色图| 国产精品美女久久久久av爽李琼| 狠狠色丁香久久婷婷综| 精品美女被调教视频大全网站| 日韩va欧美va亚洲va久久| 91精品国产91综合久久蜜臀| 视频一区二区三区入口| 在线成人免费观看| 日韩高清不卡一区| 精品国产三级a在线观看| 狠狠色丁香九九婷婷综合五月| 精品免费视频.| 国产伦精品一区二区三区免费迷| 久久久久久久久免费| 成人美女视频在线观看18| 综合久久国产九一剧情麻豆| 色综合久久综合网欧美综合网| 亚洲综合精品自拍| 制服丝袜中文字幕一区| 久久99国产精品麻豆| 久久久美女毛片| 91网站最新网址| 亚洲成人av电影| 精品久久久久香蕉网| 国产成人免费av在线| 亚洲另类在线制服丝袜| 欧美喷潮久久久xxxxx| 美美哒免费高清在线观看视频一区二区 | 国产精品久久久久久妇女6080| 91亚洲精品一区二区乱码| 亚洲国产三级在线| 精品精品欲导航| 99精品在线免费| 日韩精品国产精品| 国产日本一区二区| 欧美日韩综合不卡|