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

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

?? txbutton.~pas

?? Special picture button, easy configure... release. You only need one picture for pressed and one for
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號:
unit TXButton;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, JclGraphics, JclLogic;

type

  TTButton = class(TCustomControl)
  private
    FCaption : TCaption;
    FActive  : Boolean;
    FDowned  : Boolean;
    FFont    : TFont;
    FFocused : Boolean;
    FModalResult : TModalResult;
    FHotKey  : Char;
    FCancel  : Boolean;
    FDefault : Boolean;

    FOnClick : TNotifyEvent;
    FOnEnter : TNotifyEvent;
    FOnExit  : TNotifyEvent;
    FOnKeyDown : TKeyEvent;
    FOnKeyUp : TKeyEvent;
    FOnKeyPress : TKeyPressEvent;

    { Slike }
    FImgNSel : TPicture;
    FImgSel : TPicture;

    FDrawImgNEna : TBitmap;    
    FDrawImgNSel : TBitmap;
    FDrawImgSel : TBitmap;

    { Da li je startovan }
    FExecuted : Boolean;

    procedure SetCaption (ACaption : TCaption);
    function  GetCaption : TCaption;

{    procedure SetDowned (ADowned : Boolean);
    function  GetDowned : Boolean;
}
    procedure SetFont (AFont : TFont);
    function  GetFont : TFont;

    procedure SetModalResult (AModalResult : TModalResult);
    function  GetModalResult : TModalResult;

    procedure FOnButtonClick;

  protected
    procedure Paint; override;
    procedure MouseEnter (var Message : TMessage); message CM_MOUSEENTER;
    procedure MouseLeave (var Message : TMessage); message CM_MOUSELEAVE;

    procedure LMouseDown  (var Message : TMessage); message WM_LBUTTONDOWN;
{
    procedure RMouseDown  (var Message : TMessage); message WM_RBUTTONDOWN;
}
    procedure LMouseUp  (var Message : TMessage); message WM_LBUTTONUP;
{
    procedure RMouseUp  (var Message : TMessage); message WM_RBUTTONUP;
}
    procedure LMouseDblClick  (var Message : TMessage); message WM_LBUTTONDBLCLK;
    procedure CMEnter(var Message: TCMGotFocus); message CM_ENTER;
    procedure CMExit(var Message: TCMLostFocus); message CM_EXIT;

    procedure WMSetFocus(var Message: TMessage); message WM_SETFOCUS;
    procedure WMKillFocus(var Message: TMessage); message WM_KILLFOCUS;

    procedure WMKeyDown(var Message: TMessage); message WM_KEYDOWN;
    procedure WMKeyUp(var Message: TMessage); message WM_KEYUP;

    procedure CMDialogChar(var Message : TCMDialogChar);  message CM_DIALOGCHAR;
    procedure CMDialogKey(var Message : TCMDialogKey);  message CM_DIALOGKEY;

    procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;

    procedure WMEraseBkgnd(var m: TWMEraseBkgnd); message WM_ERASEBKGND;

    Procedure SetImgNSel(Pic:TPicture);
    Procedure SetImgSel(Pic:TPicture);

    
  public
    constructor Create (AOwner : TComponent); override;
    destructor Destroy; override;

    Procedure ImageResize;
    { Morhing }
{    procedure Blendit(bFr,bTo,bLn : Pointer ; Width,Height : Integer ; Dens : LongInt);
    procedure Blend;
}
  published
    property Caption : TCaption read GetCaption write SetCaption;
    property Font : TFont read GetFont write SetFont;
    property Enabled;
    property ParentFont;
    property Hint;
    property ShowHint;
    property TabOrder;
    property TabStop;
    property Cancel : Boolean read FCancel write FCancel default False;
    property Default : Boolean read FDefault write FDefault default False;
    property ModalResult : TModalResult read GetModalResult write SetModalResult default mrNone;
    property OnClick: TNotifyEvent read FOnClick write FOnClick;
    property OnEnter: TNotifyEvent read FOnEnter write FOnEnter;
    property OnExit: TNotifyEvent read FOnExit write FOnExit;
    property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
    property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress;
    property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp;
    property ImageNSel: TPicture read FImgNSel write SetImgNSel;
    property ImageSel: TPicture read FImgSel write SetImgSel;
  end;

procedure Register;

implementation
{
Var
  EBX, ESI, EDI, ESP, EBP,
  FinA,
  Dens1, Dens2 : Longint;
}

constructor TTButton.Create (AOwner : TComponent);
begin
  Inherited Create (AOwner);
  Width := 75;
  Height := 25;
  FFont := TFont.Create;
  FCaption := 'XtraButton';
  FActive := False;
  FDowned := False;
  FFocused := False;
  TabStop := True;

  FImgNSel := TPicture.Create;
  FImgSel := TPicture.Create;

  FDrawImgNSel := TBitmap.Create;
  FDrawImgNEna := TBitmap.Create;  
  FDrawImgSel := TBitmap.Create;

  { StartUp Button }
{  FDrawImgNSel.Width := 4;
  FDrawImgNSel.Height := 4;
{  FDrawImgNSel.Canvas.Pen.Color := clBlue;
  FDrawImgNSel.Canvas.Rectangle(0,0,3,3);
  FImgNSel.Bitmap.Assign(FDrawImgNSel);
  FDrawImgNSel.Canvas.Pen.Color := clBlue;
  FDrawImgNSel.Canvas.Rectangle(1,1,4,4);
  FImgSel.Bitmap.Assign(FDrawImgNSel);

  FDrawImgNSel.FreeImage;
}
  FExecuted := False;
  Enabled := True;
end;

destructor TTButton.Destroy;
begin

  FImgNSel.Free;
  FImgSel.Free;

  FDrawImgNSel.Free;
  FDrawImgNEna.Free;
  FDrawImgSel.Free;

  FFont.Free;
  inherited;
end;

procedure TTButton.CMDialogKey(var Message : TCMDialogKey);
begin
  if Enabled and  ((FCancel and (Message.CharCode = VK_ESCAPE)) or
  (FDefault and (Message.CharCode = VK_RETURN))) then
    FOnButtonClick;
end;


procedure Grayscale(const Bmp: TBitmap);
 {From: Pascal Enz, pascal.enz@datacomm.ch }
type
  TRGBArray = array[0..32767] of TRGBTriple;
  PRGBArray = ^TRGBArray;
var
  x, y, Gray: Integer;
  Row: PRGBArray;
begin
  Bmp.PixelFormat := pf24Bit;
  for y := 0 to Bmp.Height - 1 do
  begin
    Row := Bmp.ScanLine[y];
    for x := 0 to Bmp.Width - 1 do
    begin
      Gray := (Row[x].rgbtRed + Row[x].rgbtGreen + Row[x].rgbtBlue) div 3;
      Row[x].rgbtRed := Gray;
      Row[x].rgbtGreen := Gray;
      Row[x].rgbtBlue := Gray;
    end;
  end;
end;

{procedure Antialising(C: TCanvas; Rect: TRect; Percent: Integer);
var
  l, p: Integer;
  R, G, B: Integer;
  R1, R2, G1, G2, B1, B2: Byte;
begin
  with c do
  begin
    Brush.Style := bsclear;
{    lineto(200, 100);
    moveto(50, 150);
    Ellipse(50, 150, 200, 30);}
{    for l := Rect.Top to Rect.Bottom do
    begin
      for p := Rect.Left to Rect.Right do
      begin
        R1 := GetRValue(Pixels[p, l]);
        G1 := GetGValue(Pixels[p, l]);
        B1 := GetBValue(Pixels[p, l]);


        //Pixel links
        //Pixel left
        R2 := GetRValue(Pixels[p - 1, l]);
        G2 := GetGValue(Pixels[p - 1, l]);
        B2 := GetBValue(Pixels[p - 1, l]);

        if (R1 <> R2) or (G1 <> G2) or (B1 <> B2) then
        begin
          R := Round(R1 + (R2 - R1) * 50 / (Percent + 50));
          G := Round(G1 + (G2 - G1) * 50 / (Percent + 50));
          B := Round(B1 + (B2 - B1) * 50 / (Percent + 50));
          Pixels[p - 1, l] := RGB(R, G, B);
        end;

        //Pixel rechts
        //Pixel right
        R2 := GetRValue(Pixels[p + 1, l]);
        G2 := GetGValue(Pixels[p + 1, l]);
        B2 := GetBValue(Pixels[p + 1, l]);

        if (R1 <> R2) or (G1 <> G2) or (B1 <> B2) then
        begin
          R := Round(R1 + (R2 - R1) * 50 / (Percent + 50));
          G := Round(G1 + (G2 - G1) * 50 / (Percent + 50));
          B := Round(B1 + (B2 - B1) * 50 / (Percent + 50));
          Pixels[p + 1, l] := RGB(R, G, B);
        end;

        //Pixel oben
        //Pixel up
        R2 := GetRValue(Pixels[p, l - 1]);
        G2 := GetGValue(Pixels[p, l - 1]);
        B2 := GetBValue(Pixels[p, l - 1]);

        if (R1 <> R2) or (G1 <> G2) or (B1 <> B2) then
        begin
          R := Round(R1 + (R2 - R1) * 50 / (Percent + 50));
          G := Round(G1 + (G2 - G1) * 50 / (Percent + 50));
          B := Round(B1 + (B2 - B1) * 50 / (Percent + 50));
          Pixels[p, l - 1] := RGB(R, G, B);
        end;

        //Pixel unten
        //Pixel down
        R2 := GetRValue(Pixels[p, l + 1]);
        G2 := GetGValue(Pixels[p, l + 1]);
        B2 := GetBValue(Pixels[p, l + 1]);

        if (R1 <> R2) or (G1 <> G2) or (B1 <> B2) then
        begin
          R := Round(R1 + (R2 - R1) * 50 / (Percent + 50));
          G := Round(G1 + (G2 - G1) * 50 / (Percent + 50));
          B := Round(B1 + (B2 - B1) * 50 / (Percent + 50));
          Pixels[p, l + 1] := RGB(R, G, B);
        end;
      end;
    end;
  end;
end;
}

procedure AntiAliasing(clip: tbitmap; XOrigin, YOrigin,
  XFinal, YFinal: Integer);
var Memo,x,y: Integer; (* Composantes primaires des points environnants *)
    p0,p1,p2:pbytearray;
begin
   if XFinal<XOrigin then begin Memo:=XOrigin; XOrigin:=XFinal; XFinal:=Memo; end;  (* Inversion des valeurs   *)
   if YFinal<YOrigin then begin Memo:=YOrigin; YOrigin:=YFinal; YFinal:=Memo; end;  (* si diff俽ence n俫ative*)
   XOrigin:=max(1,XOrigin);
   YOrigin:=max(1,YOrigin);
   XFinal:=min(clip.width-2,XFinal);
   YFinal:=min(clip.height-2,YFinal);
   clip.PixelFormat :=pf24bit;
   for y := YOrigin to YFinal do begin
    p0:=clip.ScanLine [y-1];
    p1:=clip.ScanLine [y];
    p2:=clip.ScanLine [y+1];
    for x := XOrigin to XFinal do
        Begin
          p1[x*3] := (p0[x*3]+p2[x*3]+p1[x*3]*4) div 6;
          p1[x*3+1] := (p0[x*3+1]+p2[x*3+1]+p1[x*3+1]*4) div 6;
          p1[x*3+2] := (p0[x*3+2]+p2[x*3+2]+p1[x*3+2]*4) div 6;
        end;
   end;
end;


Procedure TTButton.ImageResize;
var
    W, H, T : Integer;
    tR, tR1 : TRect;
    tBMP : TBitmap;

    AText : String;
  
Begin

      AText := FCaption;
      If Pos ('&', FCaption) <> 0 then Delete (AText, Pos ('&', AText), 1);


        W := FImgSel.Width;
        H := FImgSel.Height;

        tBMP := TBitmap.Create;
        tBMP.Assign( FImgSel.Graphic );

        FDrawImgSel.Width := Width;
        FDrawImgSel.Height := Height;

        FDrawImgSel.Canvas.CopyMode := cmSrcCopy;

        { Pocetak Gore Levo }
        { Source }
        tR.Top := 0;
        tR.Bottom := H;
        tR.Left := 0;
        tR.Right := W;

        { Destinaction }
        tR1 := tR;

        FDrawImgSel.Canvas.CopyRect(tR1, tBMP.Canvas, tR);

        { Dole Levo }
        { Source }
        tR.Top := Trunc(H/2);
        tR.Bottom := H;
        tR.Left := 0;
        tR.Right := W;

        { Destinaction }
        tR1.Top := Height+tR.Top-tR.Bottom;
        tR1.Bottom := Height;
        tR1.Left := 0;
        tR1.Right := W;

        FDrawImgSel.Canvas.CopyRect(tR1, FDrawImgSel.Canvas, tR);

        { Levo razvlacenje }
        { Source }
        tR.Top := Trunc(H/2)-1;
        tR.Bottom := Trunc(H/2);
        tR.Left := 0;
        tR.Right := W;

        For T := Trunc(H/2)-1 to Height-Trunc(H/2) Do
        Begin
            { Destinaction }
            tR1.Top := T;
            tR1.Bottom := T+1;
            tR1.Left := 0;
            tR1.Right := W;

            FDrawImgSel.Canvas.CopyRect(tR1, FDrawImgSel.Canvas, tR);
        End;

        { Desna Ivica }
        { Source }
        tR.Top := 0;
        tR.Bottom := Height;
        tR.Left := Trunc(W/2);
        tR.Right := W;

        { Destinaction }
        tR1.Top := 0;
        tR1.Bottom := Height;
        tR1.Left := Width+tR.Left-tR.Right;
        tR1.Right := Width;

        FDrawImgSel.Canvas.CopyRect(tR1, FDrawImgSel.Canvas, tR);

        { Desno razvlacenje }
        { Source }
        tR.Top := 0;
        tR.Bottom := Height;
        tR.Left := Trunc(W/2)-1;
        tR.Right := Trunc(W/2);

        For T := Trunc(W/2)-1 to Width-Trunc(W/2) do
        Begin
            { Destinaction }
            tR1.Top := 0;
            tR1.Bottom := Height;
            tR1.Left := T;
            tR1.Right := T+1;

            FDrawImgSel.Canvas.CopyRect(tR1, FDrawImgSel.Canvas, tR);
        End;

         { Caption }
        FDrawImgSel.Canvas.Font := FFont;
        FDrawImgSel.Canvas.Brush.Style := bsClear;        
        FDrawImgSel.Canvas.TextRect (Rect (4, 4, Width-4, Height-4),
          (Width - FDrawImgSel.Canvas.TextWidth (AText)) div 2 + Integer (FDowned),
          (Height - FDrawImgSel.Canvas.TextHeight (AText)) div 2 + Integer (FDowned), AText);

          If Pos ('&', FCaption) <> 0 then
          begin
            FDrawImgSel.Canvas.Pen.Color := FDrawImgSel.Canvas.Font.Color;
            FDrawImgSel.Canvas.Pen.Width := 1;
            FDrawImgSel.Canvas.MoveTo (((Width - FDrawImgSel.Canvas.TextWidth (AText)) div 2) + FDrawImgSel.Canvas.TextWidth (Copy (AText, 1, Pos ('&', FCaption)-1)) + Integer (FDowned),
                           ((Height - FDrawImgSel.Canvas.TextHeight (AText)) div 2) + FDrawImgSel.Canvas.TextHeight (AText) + Integer (FDowned));
            FDrawImgSel.Canvas.LineTo (((Width - FDrawImgSel.Canvas.TextWidth (AText)) div 2) + FDrawImgSel.Canvas.TextWidth (Copy (AText, 1, Pos ('&', FCaption))) + Integer (FDowned),
                           ((Height - FDrawImgSel.Canvas.TextHeight (AText)) div 2) + FDrawImgSel.Canvas.TextHeight (AText) + Integer (FDowned));
          end;

        Antialiasing(FDrawImgSel, (Width - FDrawImgSel.Canvas.TextWidth (AText)) div 2,
            (Height - FDrawImgSel.Canvas.TextHeight (AText)) div 2,
            Width-((Width - FDrawImgSel.Canvas.TextWidth (AText)) div 2),
            Height-((Height - FDrawImgSel.Canvas.TextHeight (AText)) div 2 ) );

        { ****** Not Sel ******** }

        tBMP.FreeImage;
        tBMP.Assign( FImgNSel.Graphic );

        FDrawImgNSel.Width := Width;
        FDrawImgNSel.Height := Height;

        FDrawImgNSel.Canvas.CopyMode := cmSrcCopy;

        { Pocetak Gore Levo }
        { Source }
        tR.Top := 0;
        tR.Bottom := H;
        tR.Left := 0;
        tR.Right := W;

        { Destinaction }
        tR1 := tR;

        FDrawImgNSel.Canvas.CopyRect(tR1, tBMP.Canvas, tR);

        { Dole Levo }
        { Source }
        tR.Top := Trunc(H/2);
        tR.Bottom := H;
        tR.Left := 0;
        tR.Right := W;

        { Destinaction }
        tR1.Top := Height+tR.Top-tR.Bottom;
        tR1.Bottom := Height;
        tR1.Left := 0;
        tR1.Right := W;

        FDrawImgNSel.Canvas.CopyRect(tR1, FDrawImgNSel.Canvas, tR);

        { Levo razvlacenje }
        { Source }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区影音先锋| 欧美狂野另类xxxxoooo| 欧洲av在线精品| 69堂国产成人免费视频| 亚洲精品一区二区三区影院| 精品国产一区二区三区久久久蜜月 | 一本色道久久综合精品竹菊 | 日韩激情视频网站| 狠狠色综合日日| 一本色道久久综合亚洲精品按摩| 欧美电影一区二区| 欧美激情综合网| 一区二区三区不卡视频| 久久国产三级精品| 91影视在线播放| 日韩女优毛片在线| 中文字幕欧美一| 蜜臀99久久精品久久久久久软件| 波多野结衣一区二区三区| 欧美日免费三级在线| 久久久午夜电影| 亚洲午夜久久久久久久久电影网 | 欧美激情一区在线| 亚洲成av人片在线观看| 国产激情一区二区三区四区| 在线观看视频一区二区欧美日韩 | 99久久精品免费精品国产| 欧美军同video69gay| 国产欧美精品国产国产专区| 亚洲国产成人va在线观看天堂| 国产乱人伦偷精品视频不卡| 欧美私模裸体表演在线观看| 国产欧美一区视频| 视频一区二区中文字幕| 成人激情电影免费在线观看| 欧美成人精品福利| 亚洲国产人成综合网站| 成人精品在线视频观看| 日韩精品一区二区三区三区免费| 亚洲免费伊人电影| 成人精品在线视频观看| 久久综合视频网| 麻豆成人av在线| 欧美日韩五月天| 亚洲情趣在线观看| 国产白丝网站精品污在线入口| 91麻豆精品国产无毒不卡在线观看| 亚洲视频免费观看| 国产精品一区免费视频| 日韩美女在线视频| 五月婷婷综合在线| 97精品电影院| 亚洲国产精品二十页| 久久精品久久综合| 在线观看91精品国产麻豆| 亚洲激情成人在线| 97精品电影院| 1000部国产精品成人观看| 国产在线国偷精品免费看| 欧美一级xxx| 日韩专区一卡二卡| 欧美日韩一二三| 一区二区三区在线视频免费| 色综合久久六月婷婷中文字幕| 国产精品午夜春色av| 国产美女视频一区| 26uuu精品一区二区三区四区在线| 日本视频一区二区三区| 欧美精品123区| 日本aⅴ亚洲精品中文乱码| 欧美日韩综合在线免费观看| 一区二区三区国产| 欧美三级三级三级爽爽爽| 一区二区三区中文在线| 在线日韩一区二区| 亚洲国产中文字幕| 欧美日韩国产一二三| 天堂蜜桃一区二区三区 | 精一区二区三区| 欧美岛国在线观看| 黄色小说综合网站| 久久影视一区二区| 国产福利精品一区二区| 久久色中文字幕| 国产成人av电影在线| 国产精品国产三级国产| 91国内精品野花午夜精品| 一区二区视频免费在线观看| 91一区二区在线观看| 夜夜精品浪潮av一区二区三区| 91成人在线观看喷潮| 亚洲成人自拍偷拍| 欧美tickling挠脚心丨vk| 国产精品一区二区x88av| 国产精品三级在线观看| 99麻豆久久久国产精品免费优播| 亚洲欧美一区二区三区极速播放| 日本福利一区二区| 日韩黄色免费网站| 久久亚洲精品国产精品紫薇| 成人va在线观看| 亚洲综合无码一区二区| 欧美一区二区福利在线| 国产高清在线观看免费不卡| 中文字幕永久在线不卡| 欧美性xxxxxxxx| 久久99精品久久久久久动态图 | 国v精品久久久网| 日韩理论电影院| 欧美精品tushy高清| 国产精品一区二区黑丝| 亚洲综合一区在线| 欧美mv日韩mv| 91一区二区三区在线播放| 午夜视频在线观看一区二区三区| 精品国产sm最大网站免费看| www.av亚洲| 无吗不卡中文字幕| 欧美激情一区二区三区在线| 欧美日韩精品欧美日韩精品一 | 久久久久国产精品麻豆| 97精品电影院| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美综合一区二区| 国产精一品亚洲二区在线视频| 亚洲精品视频一区二区| 精品成人免费观看| 日本韩国欧美三级| 美女被吸乳得到大胸91| 国产精品福利影院| 日韩欧美高清一区| 色悠久久久久综合欧美99| 精品一区二区三区免费毛片爱 | 欧美日韩国产综合一区二区| 国产又黄又大久久| 亚洲第一激情av| 国产精品久久毛片av大全日韩| 91精品国产综合久久福利软件 | 亚洲女人的天堂| 久久综合久久综合久久| 欧美性生活一区| 成人av在线看| 国产麻豆视频精品| 日韩国产精品大片| 亚洲一区中文在线| 国产精品家庭影院| 精品美女一区二区三区| 欧美性三三影院| 99综合电影在线视频| 黑人精品欧美一区二区蜜桃| 午夜av区久久| 亚洲在线视频一区| 中文字幕中文字幕一区二区| 久久综合九色综合97婷婷| 欧美疯狂性受xxxxx喷水图片| 成人h动漫精品一区二区| 精品亚洲aⅴ乱码一区二区三区| 午夜视频在线观看一区二区| 亚洲欧美国产三级| 国产精品欧美久久久久无广告| 精品国产青草久久久久福利| 在线观看91精品国产麻豆| 在线欧美一区二区| 91色.com| 91麻豆精品一区二区三区| 懂色av一区二区在线播放| 国产一区二区三区黄视频| 久久99精品一区二区三区三区| 日韩精品久久理论片| 亚洲成a人片在线观看中文| 亚洲猫色日本管| 亚洲男人的天堂av| 亚洲激情一二三区| 亚洲视频电影在线| 中文字幕日韩一区| 1024国产精品| 亚洲日本在线a| 亚洲色图视频网| 亚洲免费av网站| 亚洲男同性视频| 亚洲天堂久久久久久久| 日韩免费观看高清完整版在线观看 | 在线亚洲高清视频| 97久久人人超碰| 成人在线视频首页| 9人人澡人人爽人人精品| 国产在线播放一区| 国产成人综合在线播放| 国产精品性做久久久久久| 激情五月婷婷综合| 国产精品亚洲人在线观看| 国产一区二区精品久久91| 国产大片一区二区| 成人av在线资源| eeuss鲁一区二区三区| 91在线播放网址| 顶级嫩模精品视频在线看| 白白色 亚洲乱淫| 欧美在线观看视频一区二区三区 | 亚洲成人高清在线|