亚洲欧美第一页_禁久久精品乱码_粉嫩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 }
        tR.Top := Trunc(H/2)-1;
        tR.Bottom := Trunc(H/2);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频一区| 91精品国产乱码| 中文字幕亚洲成人| 99精品黄色片免费大全| 国产精品久久久久aaaa樱花| 色又黄又爽网站www久久| 亚洲精品五月天| 91麻豆精品国产综合久久久久久| 首页国产欧美日韩丝袜| 欧美一区二区福利在线| 国产原创一区二区| 国产精品日产欧美久久久久| 91亚洲男人天堂| 日韩在线观看一区二区| 精品精品国产高清a毛片牛牛 | 91视频免费播放| 亚洲图片自拍偷拍| 欧美精品在线一区二区三区| 美女网站一区二区| 国产精品麻豆视频| 欧美日韩国产成人在线91| 美女在线视频一区| 综合久久久久综合| 欧美一区二区网站| 成人av在线影院| 婷婷综合久久一区二区三区| 欧美国产一区在线| 欧美日韩激情一区二区三区| 国内精品在线播放| 亚洲在线视频网站| 精品av久久707| 色婷婷av一区二区三区大白胸| 奇米777欧美一区二区| 最新日韩av在线| 日韩美女视频一区二区在线观看| 成人视屏免费看| 美女久久久精品| 亚洲人成电影网站色mp4| 欧美大尺度电影在线| 日本道精品一区二区三区| 免费人成精品欧美精品| 亚洲日本一区二区三区| 欧美一激情一区二区三区| 91免费国产在线观看| 国产真实乱子伦精品视频| 亚洲国产精品久久久久婷婷884| 久久综合九色综合久久久精品综合 | 欧美二区三区91| 99久久国产综合精品麻豆| 九九九精品视频| 午夜精品久久久久| 一卡二卡欧美日韩| 中文在线资源观看网站视频免费不卡| 在线观看91av| 欧美日韩亚洲不卡| 91视视频在线观看入口直接观看www | 色综合天天综合在线视频| 激情六月婷婷综合| 日韩不卡免费视频| 亚洲国产成人高清精品| 亚洲日韩欧美一区二区在线| 国产欧美视频在线观看| 日韩欧美精品在线| 欧美一区2区视频在线观看| 日本高清成人免费播放| 99久久久精品| 97超碰欧美中文字幕| 成人av资源站| 成人va在线观看| 成人免费视频免费观看| 成人午夜碰碰视频| 成人久久18免费网站麻豆| 丁香一区二区三区| 国产成人精品在线看| 国产精一区二区三区| 国产一区二区三区高清播放| 精品亚洲免费视频| 九九视频精品免费| 国产激情一区二区三区四区| 国产乱码精品一区二区三| 精品一区二区精品| 国产91精品一区二区麻豆网站| 国产a久久麻豆| 大陆成人av片| 在线欧美日韩精品| 在线播放欧美女士性生活| 制服丝袜成人动漫| 91精品国产综合久久精品性色| 717成人午夜免费福利电影| 欧美精品一二三| 欧美一级理论性理论a| 欧美一区二区二区| 欧美激情综合在线| 亚洲免费在线观看视频| 亚洲1区2区3区4区| 老司机午夜精品| 成人午夜私人影院| 欧美日韩国产一二三| 欧美一区二区三区精品| 国产欧美视频一区二区| 亚洲精品欧美激情| 男女男精品网站| 成人免费毛片片v| 欧美日韩一区二区三区高清 | 欧美三级电影网| 日韩欧美国产综合| 综合网在线视频| 青青草视频一区| 成人不卡免费av| 欧美精品久久天天躁| 欧美刺激脚交jootjob| 国产色产综合色产在线视频| 国产午夜亚洲精品理论片色戒| 亚洲日本在线a| 午夜免费久久看| 精品一区二区三区视频| 国产高清久久久久| 欧美久久久久久蜜桃| 精品日韩99亚洲| 中文av一区特黄| 亚洲乱码中文字幕综合| 亚洲综合成人在线| 国产精品综合一区二区三区| 成人永久aaa| 欧美日韩高清影院| 久久综合狠狠综合久久激情 | 成人免费视频视频| 欧美性受xxxx黑人xyx| 日韩一二三区视频| 中文无字幕一区二区三区| 一区二区三区中文字幕电影| 亚洲国产成人av网| 国产尤物一区二区| 欧美日韩一区二区三区视频| 精品成a人在线观看| 亚洲精品久久嫩草网站秘色| 国产精品亚洲专一区二区三区 | 欧美国产一区二区在线观看| 午夜视频一区二区三区| 高清不卡一区二区| 欧美久久久久久久久| 国产日韩精品久久久| 一区二区三区四区在线播放| 国产成人a级片| 欧美日韩激情在线| 亚洲国产精品传媒在线观看| 亚洲成人动漫一区| 国产精品影音先锋| 欧美大片一区二区| 亚洲无线码一区二区三区| 国产999精品久久| 欧美一区二区三区思思人| 91精品国产综合久久精品图片| 亚洲一区二区综合| 高清成人免费视频| 精品国产一二三| 午夜精品久久久久久久蜜桃app| 成人久久视频在线观看| 精品欧美乱码久久久久久| 亚洲中国最大av网站| 成人毛片在线观看| 亚洲精品在线观看网站| 韩国一区二区三区| 欧美精品777| 亚洲一区二区三区视频在线播放 | 日韩国产精品久久久久久亚洲| 国产成人免费视频网站高清观看视频| 7777精品伊人久久久大香线蕉| 久久精品人人做人人爽97| 国产成人在线网站| 精品久久免费看| 日韩成人免费在线| 欧美日韩aaa| 免费视频最近日韩| 欧美电影在哪看比较好| 亚洲综合成人在线| 91国偷自产一区二区三区成为亚洲经典 | 午夜精品一区二区三区三上悠亚 | 麻豆精品久久精品色综合| 欧美亚洲一区二区在线| 综合中文字幕亚洲| 一本大道综合伊人精品热热| 亚洲综合999| 欧美性生活大片视频| 亚洲精品老司机| 欧美自拍丝袜亚洲| 亚洲人成伊人成综合网小说| 欧美体内she精视频| 亚洲动漫第一页| 欧美日韩一区二区三区四区| 亚洲成a人片在线不卡一二三区| 在线精品视频一区二区| 亚洲电影一级黄| 欧美日韩国产在线观看| 日韩专区欧美专区| 欧美日韩成人在线| 国产成人精品亚洲午夜麻豆| 中文欧美字幕免费| 91片在线免费观看| 亚洲成av人综合在线观看|