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

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

?? lbbutton.pas.~1~

?? 一個delphi的第三方控件 XP按鈕一個delphi的第三方控件 XP按鈕一個delphi的第三方控件 XP按鈕
?? ~1~
字號:
unit LbButton;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, LbButtons;

type
   TLbButton = class(TCustomControl)
   private
      FAlignment: TAlignment;
      FShadowColor: TColor;
      FCaption: TCaption;
      FColorWhenDown: TColor;
      FEnabled: boolean;
      FFlat: boolean;
      FGlyph: TBitmap;
      FHotTrackColor: TColor;
      FKind: TLbButtonKind;
      FLayout: TLbButtonLayout;
      FLightColor: TColor;
      FModalResult: TModalResult;
      FNumGlyphs: integer;
      FOnClick: TNotifyEvent;
      FOnMouseEnter: TNotifyEvent;
      FOnMouseExit: TNotifyEvent;
      FDummyStyle: TLbColorStyle;
      FStyle: TLbButtonStyle;
      FDefault, FCancel: boolean;

      bDown: boolean;
      bCursorOnButton: boolean;
   public
      constructor Create(aOwner: TComponent); override;
      destructor Destroy; override;
      procedure Click; override;
   protected
      procedure SetAlignment(fNew: TAlignment);
      procedure SetCaption(const fNew: TCaption);
      procedure SetEnabled(fNew: boolean); override;
      procedure SetFlat(fNew: boolean);
      procedure SetGlyph(fNew: TBitmap);
      procedure SetKind(fNew: TLbButtonKind);
      procedure SetLayout(fNew: TLbButtonLayout);
      procedure SetLightColor(fNew: TColor);
      procedure SetModalResult(fNew: TModalResult);
      procedure SetNumGlyphs(fNew: integer);
      procedure SetStyle(fNew: TLbButtonStyle);
      procedure SetShadowColor(fNew: TColor);
      procedure SetColorStyle(fNew: TLbColorStyle);

      procedure DoMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
      procedure DoMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
      procedure DoFocusChanged(var Msg: TMessage); message CM_FOCUSCHANGED;
      procedure DoKeyDown(var Msg: TMessage); message CN_KEYDOWN;
      procedure DoKeyUp(var Msg: TMessage); message CN_KEYUP;
      procedure DoDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
      procedure DoDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;

      procedure Paint; override;
      procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
      procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
   published
      property Align;
      property Alignment: TAlignment read FAlignment write SetAlignment default taCenter;
      property ShadowColor: TColor read FShadowColor write SetShadowColor default clGray;
      property Cancel: boolean read FCancel write FCancel default false;
      property Caption: TCaption read FCaption write SetCaption;
      property Color;
      property ColorStyle: TLbColorStyle read FDummyStyle write SetColorStyle default lcsCustom;
      property ColorWhenDown: TColor read FColorWhenDown write FColorWhenDown default clNone;
      property Default: boolean read FDefault write FDefault default false;
      property DragCursor;
      property DragKind;
      property DragMode;
      property Enabled: boolean read FEnabled write SetEnabled default true;
      property Flat: boolean read FFlat write SetFlat default false;
      property Font;
      property Glyph: TBitmap read FGlyph write SetGlyph;
      property Hint;
      property HotTrackColor: TColor read FHotTrackColor write FHotTrackColor default clNone;
      property Kind: TLbButtonKind read FKind write SetKind default bkCustom;
      property Layout: TLbButtonLayout read FLayout write SetLayout default blGlyphLeft;
      property LightColor: TColor read FLightColor write SetLightColor default clWhite;
      property ModalResult: TModalResult read FModalResult write SetModalResult;
      property NumGlyphs: integer read FNumGlyphs write SetNumGlyphs default 0;
      property ParentColor;
      property ParentFont;
      property ParentShowHint;
      property PopupMenu;
      property ShowHint;
      property Style: TLbButtonStyle read FStyle write SetStyle default bsNormal;
      property TabOrder;
      property TabStop default true;
      property Visible;

      property OnClick: TNotifyEvent read FOnClick write FOnClick;
      property OnDragDrop;
      property OnDragOver;
      property OnEndDrag;
      property OnEnter;
      property OnExit;
      property OnKeyDown;
      property OnKeyPress;
      property OnKeyUp;
      property OnMouseDown;
      property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
      property OnMouseExit: TNotifyEvent read FOnMouseExit write FOnMouseExit;
      property OnMouseMove;
      property OnMouseUp;
      property OnStartDrag;
   end;

procedure Register;

implementation

{##############################################################################}

procedure Register;
begin
   RegisterComponents('UserControl', [TLbButton]);
end;

{##############################################################################}

constructor TLbButton.Create(aOwner: TComponent);
begin
   inherited;

   Height := 23;
   Width := 100;

   ControlStyle := [csSetCaption, csCaptureMouse];

   FGlyph := TBitmap.Create;

   bDown := false;
   bCursorOnButton := false;

   FLightColor := clWhite;
   FShadowColor := clGray;
   FColorWhenDown := clNone;
   FEnabled := true;
   FStyle := bsNormal;
   FKind := bkCustom;
   TabStop := true;
   FDummyStyle := lcsCustom;
   FHotTrackColor := clNone;
   FAlignment := taCenter;

   FDefault := false;
   FCancel := false;

   Color := clBtnFace;
end;

{##############################################################################}

destructor TLbButton.Destroy;
begin
   FGlyph.Free;
   inherited;
end;

{##############################################################################}

procedure TLbButton.Click;
begin 
   if Visible and Enabled then
   begin
      if assigned(FOnClick) then FOnClick(self);
      if FModalResult <> mrNone then GetParentForm(self).ModalResult := FModalResult;
      if assigned(PopupMenu) then PopupMenu.PopUp(ClientToScreen(Point(0, Height)).X, ClientToScreen(Point(0, Height)).Y);
   end;
end;

{##############################################################################}

procedure TLbButton.SetAlignment(fNew: TAlignment);
begin
   FAlignment := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetCaption(const fNew: TCaption);
begin
   FCaption := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetColorStyle(fNew: TLbColorStyle);
var
   bModern: boolean;
   FColor: TColor;

begin
   if fNew = lcsCustom then exit;

   GetPreDefinedColors(fNew, FColor, FLightColor, FShadowColor, FColorWhenDown, FHotTrackColor, FFlat, bModern);
   Color := FColor;
   if bModern then FStyle := bsModern else FStyle := bsNormal;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetEnabled(fNew: boolean);
begin
   FEnabled := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetFlat(fNew: boolean);
begin
   FFlat := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetGlyph(fNew: TBitmap);
begin
   if fNew <> nil then
   begin
      FGlyph.Assign(fNew);
      if fNew.Height <> 0 then FNumGlyphs := fNew.Width div fNew.Height else FNumGlyphs := 0;
   end
   else
   begin
      FGlyph.Height := 0;
      FNumGlyphs := 0;
   end;
   FKind := bkCustom;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetKind(fNew: TLbButtonKind);
begin
   if fNew <> bkCustom then FNumGlyphs := 2;
   case fNew of
      bkOK:     begin ModalResult := mrOK;      FGlyph.LoadFromResourceName(hInstance, 'LBOK');      FCaption := 'OK';           end;
      bkCancel: begin ModalResult := mrCancel;  FGlyph.LoadFromResourceName(hInstance, 'LBCANCEL');  FCaption := 'Abbrechen';    end;
      bkHelp:   begin ModalResult := mrNone;    FGlyph.LoadFromResourceName(hInstance, 'LBHELP');    FCaption := 'Hilfe';        end;
      bkYes:    begin ModalResult := mrYes;     FGlyph.LoadFromResourceName(hInstance, 'LBYES');     FCaption := 'Ja';           end;
      bkNo:     begin ModalResult := mrNo;      FGlyph.LoadFromResourceName(hInstance, 'LBNO');      FCaption := 'Nein';         end;
      bkClose:  begin ModalResult := mrNone;    FGlyph.LoadFromResourceName(hInstance, 'LBCLOSE');   FCaption := 'Schlie遝n';    end;
      bkAbort:  begin ModalResult := mrAbort;   FGlyph.LoadFromResourceName(hInstance, 'LBABORT');   FCaption := 'Abbrechen';    end;
      bkRetry:  begin ModalResult := mrRetry;   FGlyph.LoadFromResourceName(hInstance, 'LBRETRY');   FCaption := 'Wiederholen';  end;
      bkIgnore: begin ModalResult := mrIgnore;  FGlyph.LoadFromResourceName(hInstance, 'LBIGNORE');  FCaption := 'Ignorieren';   end;
      bkAll:    begin ModalResult := mrAll;     FGlyph.LoadFromResourceName(hInstance, 'LBALL');     FCaption := 'Alle';         end;
   end;

   FKind := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetLayout(fNew: TLbButtonLayout);
begin
   FLayout := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetNumGlyphs(fNew: integer);
begin
   FNumGlyphs := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetModalResult(fNew: TModalResult);
begin
   FModalResult := fNew;
   FKind := bkCustom;
end;

{##############################################################################}

procedure TLbButton.SetLightColor(fNew: TColor);
begin
   FLightColor := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetShadowColor(fNew: TColor);
begin
   FShadowColor := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.SetStyle(fNew: TLbButtonStyle);
begin
   FStyle := fNew;
   Paint;
end;

{##############################################################################}

procedure TLbButton.DoMouseEnter(var Msg: TMessage);
begin
   if assigned(FOnMouseEnter) then FOnMouseEnter(self);
   bCursorOnButton := true;
   Paint;
end;

{##############################################################################}

procedure TLbButton.DoMouseLeave(var Msg: TMessage);
begin
   if assigned(FOnMouseExit) then FOnMouseExit(self);
   bCursorOnButton := false;
   Paint;
end;

{##############################################################################}

procedure TLbButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   inherited;
   if Enabled then
   begin
      bDown := true;
      SetFocus;
      Paint;
   end;
end;

{##############################################################################}

procedure TLbButton.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   inherited;
   if bDown and bCursorOnButton then Click;
   bDown := false;
   Paint;
end;

{##############################################################################}

procedure TLbButton.DoFocusChanged(var Msg: TMessage);
begin
   Paint;
end;

{##############################################################################}

procedure TLbButton.DoKeyDown(var Msg: TMessage);
begin
   inherited;
   if Enabled then if Msg.WParam in [VK_SPACE, VK_RETURN] then
   begin
      bDown := true;
      Paint;
   end;
end;

{##############################################################################}

procedure TLbButton.DoKeyUp(var Msg: TMessage);
begin
   inherited;
   if Enabled then if Msg.WParam in [VK_SPACE, VK_RETURN] then if bDown then Click;
   bDown := false;
   Paint;
end;

{##############################################################################}

procedure TLbButton.Paint;
var
   aBitmap: TBitmap;          

begin
   if not (Visible or (csDesigning in ComponentState)) or (csLoading in ComponentState) then exit;

   if FStyle = bsModern then
      LbPaintButton(Canvas, Width, Height, FNumGlyphs, FGlyph, bDown, bCursorOnButton or focused, false, Enabled, Flat or not Enabled, assigned(PopupMenu), FStyle, Color, FColorWhenDown, FHotTrackColor, FLightColor, FShadowColor, Font, FLayout, FCaption, FAlignment)
   else
   begin
      // Draw on a Bitmap first, then just copy the Bitmap to the Canvas. Just to avoid flickering...
      aBitmap := TBitmap.Create;
      aBitmap.Height := Height;
      aBitmap.Width := Width;
      LbPaintButton(aBitmap.Canvas, Width, Height, FNumGlyphs, FGlyph, bDown, bCursorOnButton or focused, false, Enabled, Flat, assigned(PopupMenu), FStyle, Color, FColorWhenDown, FHotTrackColor, FLightColor, FShadowColor, Font, FLayout, FCaption, FAlignment);
      Canvas.Draw(0, 0, aBitmap);
      aBitmap.Free;
   end;
   if focused and enabled then Canvas.DrawFocusRect(Rect(4, 4, Width-4, Height - 4));
end;

{##############################################################################}

procedure TLbButton.DoDialogChar(var Message: TCMDialogChar);
begin
   with Message do
   begin
      if IsAccel(CharCode, Caption) and Visible and Enabled and (Parent <> nil) and Parent.Showing then
      begin
         bDown := false;
         Paint;
         Click;
         Result := 1;
      end
      else
         inherited;
   end;
end;

{##############################################################################}

procedure TLbButton.DoDialogKey(var Message: TCMDialogKey);
begin
   bDown := false;
   Paint;
   with Message do
   begin
      if ((CharCode = VK_RETURN) and FDefault) or ((CharCode = VK_ESCAPE) and FCancel) and (KeyDataToShiftState(Message.KeyData) = []) and Visible and Enabled then
      begin
         bDown := false;
         Paint;
         Click;
         Result := 1;
      end
      else
         inherited;
   end;
end;

{##############################################################################}

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频在线观看一区二区三区| 日韩高清在线电影| 欧美日韩视频专区在线播放| 裸体一区二区三区| 国产精品国产精品国产专区不蜜 | 日本久久电影网| 日本不卡高清视频| 亚洲精品高清视频在线观看| 欧美精品一区二区在线观看| 欧美日韩亚洲综合| 成人黄色a**站在线观看| 久久精工是国产品牌吗| 一区二区三国产精华液| 国产日韩精品久久久| 日韩欧美一区电影| 日本道色综合久久| 国产91精品一区二区| 蜜臀av性久久久久av蜜臀妖精| 中文字幕字幕中文在线中不卡视频| 26uuu精品一区二区在线观看| 欧美中文一区二区三区| 欧美剧情电影在线观看完整版免费励志电影 | 欧美成人福利视频| 本田岬高潮一区二区三区| 欧美一区三区四区| 日韩三级av在线播放| 男男成人高潮片免费网站| 亚洲欧美福利一区二区| 国产亚洲精品免费| 精品电影一区二区| 欧美成人福利视频| 日韩一级精品视频在线观看| 欧美日韩中字一区| 一本到三区不卡视频| av成人老司机| 成人国产在线观看| 成人精品视频一区| 国产福利91精品| 国产一区二区福利| 国产精品一区三区| 国产一区二区三区四区五区入口| 久久99久国产精品黄毛片色诱| 免费亚洲电影在线| 奇米精品一区二区三区在线观看| 丝袜美腿高跟呻吟高潮一区| 午夜精品久久久久久久| 日韩成人精品视频| 视频一区视频二区在线观看| 日韩精品电影一区亚洲| 五月天网站亚洲| 琪琪久久久久日韩精品| 久久成人免费网站| 国产揄拍国内精品对白| 国产高清成人在线| av日韩在线网站| 在线国产电影不卡| 91精品国产一区二区三区| 日韩视频国产视频| 久久亚洲一区二区三区明星换脸 | 午夜视频在线观看一区二区三区| 亚洲18女电影在线观看| 免费高清在线一区| 精彩视频一区二区三区| 成人午夜激情视频| 91小宝寻花一区二区三区| 欧美日韩一区视频| 日韩欧美的一区二区| 久久久久久久国产精品影院| 国产精品乱人伦中文| 樱桃视频在线观看一区| 免费精品99久久国产综合精品| 狠狠色狠狠色综合系列| 不卡视频在线看| 欧美日韩亚洲另类| 久久久噜噜噜久久人人看| 亚洲色图制服丝袜| 三级成人在线视频| 国产福利一区二区三区| 91丨国产丨九色丨pron| 91精品国产91综合久久蜜臀| 国产欧美日韩卡一| 亚洲小说欧美激情另类| 激情文学综合插| 91伊人久久大香线蕉| 日韩一区二区三区免费观看| 日本一区二区在线不卡| 亚洲mv大片欧洲mv大片精品| 激情综合色播五月| 91久久免费观看| 2020国产精品久久精品美国| 日韩理论片在线| 久久国产福利国产秒拍| 色婷婷av久久久久久久| 久久天堂av综合合色蜜桃网| 一个色妞综合视频在线观看| 韩国一区二区视频| 色噜噜狠狠成人网p站| 久久综合色婷婷| 一区二区三区免费在线观看| 韩国女主播一区二区三区| 欧美日韩一区二区三区视频| 中文av一区特黄| 免费在线观看日韩欧美| 在线免费av一区| 日本一区二区三区国色天香 | 国产一区欧美二区| 欧美日韩亚洲综合在线 | 中文字幕视频一区| 蜜臀av性久久久久蜜臀av麻豆| 99在线视频精品| 久久久久久久性| 免费欧美在线视频| 色婷婷久久99综合精品jk白丝| 久久久午夜精品| 美腿丝袜一区二区三区| 欧美群妇大交群中文字幕| 中文字幕欧美一| 成人免费毛片a| 2020日本不卡一区二区视频| 免费一级片91| 制服丝袜亚洲播放| 一区二区三区**美女毛片| jlzzjlzz欧美大全| 国产视频亚洲色图| 国内精品伊人久久久久av影院| 欧美一区二区三区在线看| 一区二区三区视频在线观看| 99视频在线观看一区三区| 久久日一线二线三线suv| 久久99精品国产麻豆不卡| 欧美日韩国产精品成人| 亚洲一级不卡视频| 欧美亚洲日本国产| 亚洲精品成人悠悠色影视| 不卡视频在线看| 国产精品午夜免费| 成人一区二区三区中文字幕| 国产无一区二区| 成人精品免费网站| 国产精品乱人伦一区二区| 成人avav影音| 亚洲欧美乱综合| 色94色欧美sute亚洲13| 亚洲女同女同女同女同女同69| 成人av在线电影| **性色生活片久久毛片| 一本久道中文字幕精品亚洲嫩| 亚洲精品国产精品乱码不99| 91国产精品成人| 亚洲国产中文字幕| 91精品国产色综合久久| 精品在线观看视频| 久久久精品国产99久久精品芒果| 国产成人免费视| 国产精品美女久久久久久| 一本一本大道香蕉久在线精品| 亚洲国产欧美在线人成| 欧美丰满高潮xxxx喷水动漫| 久久99精品久久久久久国产越南 | 国产精品伊人色| 国产精品每日更新| 欧洲亚洲精品在线| 美女性感视频久久| 国产日韩精品一区二区三区| 91美女在线视频| 亚洲高清免费视频| 精品日韩一区二区三区免费视频| 国产精品亚洲人在线观看| 国产精品高潮呻吟| 欧美三日本三级三级在线播放| 蜜桃精品在线观看| 国产精品色在线观看| 色94色欧美sute亚洲线路二| 奇米影视一区二区三区小说| 欧美国产97人人爽人人喊| 欧美性大战久久| 韩国女主播一区二区三区| 亚洲欧洲精品一区二区三区 | 色综合一区二区| 奇米综合一区二区三区精品视频| 国产欧美日韩视频在线观看| 在线亚洲免费视频| 国内精品写真在线观看| 亚洲人一二三区| 日韩精品一区二区三区swag | 国内成+人亚洲+欧美+综合在线| 国产情人综合久久777777| 欧美日韩小视频| 国产成人午夜精品5599| 五月综合激情日本mⅴ| 国产欧美日韩另类一区| 91麻豆精品91久久久久同性| 国产成人在线观看免费网站| 亚洲一区二区三区四区中文字幕| 精品福利在线导航| 精品视频全国免费看| gogogo免费视频观看亚洲一| 麻豆精品视频在线观看| 亚洲一区二区在线播放相泽| 欧美激情一区二区三区|