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

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

?? 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 }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人综合网| 7777女厕盗摄久久久| 国产传媒一区在线| 麻豆视频一区二区| 日本中文一区二区三区| 日韩av网站在线观看| 三级亚洲高清视频| 男女男精品视频网| 日本欧美久久久久免费播放网| 三级在线观看一区二区| 天堂精品中文字幕在线| 日韩在线一二三区| 免费成人在线视频观看| 精品一区二区三区不卡| 韩国精品在线观看| 国产美女av一区二区三区| 高清久久久久久| 9久草视频在线视频精品| 91香蕉国产在线观看软件| 在线精品亚洲一区二区不卡| 欧美日韩一区二区三区视频| 国产精品二三区| 亚洲九九爱视频| 亚洲福利电影网| 精品在线亚洲视频| 成人小视频在线观看| 色综合久久九月婷婷色综合| 欧美色网站导航| 日韩欧美一区在线| 国产偷国产偷亚洲高清人白洁| 中文字幕一区二区5566日韩| 亚洲欧美一区二区不卡| 亚洲二区在线视频| 久久草av在线| 一本一本大道香蕉久在线精品 | 色综合久久中文字幕| 在线这里只有精品| 欧美一级久久久| 中文字幕色av一区二区三区| 亚洲五码中文字幕| 国模大尺度一区二区三区| 97se亚洲国产综合在线| 欧美日韩不卡一区| 日本一区二区三区久久久久久久久不| 亚洲视频电影在线| 免费成人在线观看| av中文一区二区三区| 欧美一区二区日韩| 国产精品福利av| 麻豆一区二区在线| 91福利区一区二区三区| 精品美女在线观看| 一区二区三区国产精华| 九九精品一区二区| 色婷婷综合久久久中文一区二区 | 欧美久久久久久蜜桃| 亚洲精品一区二区三区影院| 亚洲私人黄色宅男| 另类欧美日韩国产在线| 91蝌蚪porny成人天涯| 精品国产一区二区三区四区四| 亚洲色图制服丝袜| 精品一区二区在线播放| 在线免费观看视频一区| 国产农村妇女毛片精品久久麻豆| 亚洲一区二区五区| 成人午夜精品在线| 日韩欧美不卡在线观看视频| 一区二区视频免费在线观看| 粉嫩绯色av一区二区在线观看| 91精品国产综合久久精品麻豆 | 午夜精品久久久久久| 成人综合婷婷国产精品久久免费| 欧美日韩一级黄| 国产精品免费丝袜| 久久www免费人成看片高清| 欧美综合视频在线观看| 国产精品伦一区| 国产精品一二二区| 欧美一区二区免费视频| 国产一区二区视频在线| 欧美另类一区二区三区| 亚洲资源在线观看| 一本到不卡精品视频在线观看| 2017欧美狠狠色| 麻豆91在线播放| 69久久99精品久久久久婷婷| 亚洲人亚洲人成电影网站色| 成人综合日日夜夜| 国产亚洲精品资源在线26u| 蜜臀久久99精品久久久久久9 | 欧美大片日本大片免费观看| 亚洲综合视频在线观看| 91黄视频在线观看| 亚洲免费av网站| 91麻豆6部合集magnet| 最新日韩在线视频| av成人老司机| 中文字幕一区二区三区在线不卡| 不卡欧美aaaaa| 国产精品久久久久久亚洲毛片| 国产成人综合亚洲网站| 久久久久国产成人精品亚洲午夜| 国产一区二区三区国产| 久久奇米777| 国产精品456露脸| 国产清纯在线一区二区www| 国产精品88888| 国产精品久久三| 96av麻豆蜜桃一区二区| 最近中文字幕一区二区三区| 91网站在线观看视频| 亚洲精品一二三| 欧美日韩一级二级| 日本人妖一区二区| 欧美精品一区二区三区高清aⅴ | 国内精品久久久久影院薰衣草| 精品国产百合女同互慰| 国产一区二区精品在线观看| 国产日韩综合av| 99久久久国产精品免费蜜臀| 亚洲精品网站在线观看| 欧美日韩精品欧美日韩精品| 日本欧美韩国一区三区| 久久综合色之久久综合| 成人小视频免费观看| 亚洲精品欧美在线| 日韩午夜小视频| 国产老妇另类xxxxx| 国产精品欧美久久久久一区二区 | 国产日本亚洲高清| 91视频在线看| 五月婷婷激情综合| 精品免费一区二区三区| 成人激情黄色小说| 亚洲一区二区不卡免费| 91精品国产欧美一区二区成人| 久久er99精品| 中文字幕综合网| 777午夜精品免费视频| 国产盗摄女厕一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 欧美亚洲愉拍一区二区| 九九**精品视频免费播放| 国产精品福利av| 欧美一级在线观看| 99综合电影在线视频| 午夜久久电影网| 亚洲chinese男男1069| 精品成人a区在线观看| 一本大道久久精品懂色aⅴ| 日本少妇一区二区| 国产精品嫩草影院com| 91精品国产综合久久久久久久久久| 国产一区二区日韩精品| 亚洲国产婷婷综合在线精品| 久久网站热最新地址| 日本乱人伦aⅴ精品| 久久国产人妖系列| 一区二区日韩av| 国产亚洲成年网址在线观看| 欧美网站大全在线观看| 国产盗摄一区二区三区| 香蕉av福利精品导航| 国产精品乱人伦中文| 日韩视频永久免费| 91精品办公室少妇高潮对白| 国产福利视频一区二区三区| 五月天中文字幕一区二区| 成人免费在线观看入口| 精品美女一区二区三区| 在线欧美日韩精品| 成人黄色777网| 国产尤物一区二区| 手机精品视频在线观看| 中文字幕视频一区| 国产无遮挡一区二区三区毛片日本| 欧美日韩五月天| 色又黄又爽网站www久久| 国产激情一区二区三区四区| 日韩av不卡在线观看| 亚洲国产精品一区二区www在线| 国产精品欧美经典| 久久精品这里都是精品| 欧美福利视频导航| 欧美在线free| 91一区二区在线| 成人午夜视频在线观看| 国产一区二区看久久| 麻豆国产91在线播放| 日韩在线a电影| 亚洲国产成人高清精品| 亚洲免费观看在线视频| 中文字幕在线不卡国产视频| 国产欧美日韩不卡| 国产色婷婷亚洲99精品小说| 久久亚洲精华国产精华液 | 欧美一区二区黄| 欧美日韩不卡一区二区| 欧美撒尿777hd撒尿|