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

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

?? tntbuttons.pas

?? Delphi知道現在也沒有提供Unicode支持
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
    end;
  except
    on E: EAbortPaint do
      ;
    else
      raise;
  end;
end;

function TTntSpeedButton.GetActionLinkClass: TControlActionLinkClass;
begin
  Result := TntControl_GetActionLinkClass(Self, inherited GetActionLinkClass);
end;

{$IFDEF COMPILER_10_UP}
type
  TAccessGraphicControl = class(TGraphicControl);
{$ENDIF}

procedure TTntSpeedButton.ActionChange(Sender: TObject; CheckDefaults: Boolean);
{$IFDEF COMPILER_10_UP}
// bug fix for VCL where ImageIndex on Action ALWAYS overrides the Glyph.
type
  CallActionChange = procedure(Sender: TObject; CheckDefaults: Boolean) of object;
var
  M: TMethod;
{$ENDIF}
begin
  TntControl_BeforeInherited_ActionChange(Self, Sender, CheckDefaults);
  {$IFNDEF COMPILER_10_UP}
  inherited;
  {$ELSE}
  // call TGraphicControl.ActionChange (bypass TSpeedButton.ActionChange)
  M.Code := @TAccessGraphicControl.ActionChange;
  M.Data := Self;
  CallActionChange(M)(Sender, CheckDefaults);
  // call Delphi2005's TSpeedButton.ActionChange
  if Sender is TCustomAction{TNT-ALLOW TCustomAction} then
    with TCustomAction{TNT-ALLOW TCustomAction}(Sender) do
    begin
      if CheckDefaults or (Self.GroupIndex = 0) then
        Self.GroupIndex := GroupIndex;
      { Copy image from action's imagelist }
      if (Glyph.Empty) and (ActionList <> nil) and (ActionList.Images <> nil) and
        (ImageIndex >= 0) and (ImageIndex < ActionList.Images.Count) then
        CopyImage(ActionList.Images, ImageIndex);
    end;
  {$ENDIF}
end;

{ TTntBitBtn }

procedure TTntBitBtn.CreateWindowHandle(const Params: TCreateParams);
begin
  CreateUnicodeHandle(Self, Params, 'BUTTON');
end;

procedure TTntBitBtn.DefineProperties(Filer: TFiler);
begin
  inherited;
  TntPersistent_AfterInherited_DefineProperties(Filer, Self);
end;

function TTntBitBtn.IsCaptionStored: Boolean;
var
  BaseClass: TClass;
  PropInfo: PPropInfo;
begin
  Assert(Self is TButton{TNT-ALLOW TButton});
  Assert(Self is TBitBtn{TNT-ALLOW TBitBtn});
  if Kind = bkCustom then
    // don't use TBitBtn, it's broken for Kind <> bkCustom
    BaseClass := TButton{TNT-ALLOW TButton}
  else begin
    //TBitBtn has it's own storage specifier, based upon the button kind
    BaseClass := TBitBtn{TNT-ALLOW TBitBtn};
  end;
  PropInfo := GetPropInfo(BaseClass, 'Caption');
  if PropInfo = nil then
    raise EPropertyError.CreateResFmt(PResStringRec(@SUnknownProperty), ['Caption']);
  Result := IsStoredProp(Self, PropInfo);
end;

function TTntBitBtn.GetCaption: TWideCaption;
begin
  Result := TntControl_GetText(Self)
end;

procedure TTntBitBtn.SetCaption(const Value: TWideCaption);
begin
  TntControl_SetText(Self, Value);
end;

function TTntBitBtn.IsHintStored: Boolean;
begin
  Result := TntControl_IsHintStored(Self)
end;

function TTntBitBtn.GetHint: WideString;
begin
  Result := TntControl_GetHint(Self)
end;

procedure TTntBitBtn.SetHint(const Value: WideString);
begin
  TntControl_SetHint(Self, Value);
end;

procedure TTntBitBtn.CMDialogChar(var Message: TCMDialogChar);
begin
  TntButton_CMDialogChar(Self, Message);
end;

function TTntBitBtn.GetButtonGlyph: Pointer;
begin
  Result := THackBitBtn(Self).FGlyph;
end;

procedure TTntBitBtn.UpdateInternalGlyphList;
begin
  FPaintInherited := True;
  try
    Repaint;
  finally
    FPaintInherited := False;
  end;
  Invalidate;
  raise EAbortPaint.Create('');
end;

procedure TTntBitBtn.CNDrawItem(var Message: TWMDrawItem);
begin
  if FPaintInherited then
    inherited
  else
    DrawItem(Message.DrawItemStruct^);
end;

procedure TTntBitBtn.DrawItem(const DrawItemStruct: TDrawItemStruct);
var
  IsDown, IsDefault: Boolean;
  State: TButtonState;
  R: TRect;
  Flags: Longint;
  FCanvas: TCanvas;
  IsFocused: Boolean;
  {$IFDEF THEME_7_UP}
  Details: TThemedElementDetails;
  Button: TThemedButton;
  Offset: TPoint;
  {$ENDIF}
begin
  try
    FCanvas := THackBitBtn(Self).FCanvas;
    IsFocused := THackBitBtn(Self).IsFocused;
    FCanvas.Handle := DrawItemStruct.hDC;
    R := ClientRect;

    with DrawItemStruct do
    begin
      FCanvas.Handle := hDC;
      FCanvas.Font := Self.Font;
      IsDown := itemState and ODS_SELECTED <> 0;
      IsDefault := itemState and ODS_FOCUS <> 0;

      if not Enabled then State := bsDisabled
      else if IsDown then State := bsDown
      else State := bsUp;
    end;

    {$IFDEF THEME_7_UP}
    if ThemeServices.ThemesEnabled then
    begin
      if not Enabled then
        Button := tbPushButtonDisabled
      else
        if IsDown then
          Button := tbPushButtonPressed
        else
          if FMouseInControl then
            Button := tbPushButtonHot
          else
            if IsFocused or IsDefault then
              Button := tbPushButtonDefaulted
            else
              Button := tbPushButtonNormal;

      Details := ThemeServices.GetElementDetails(Button);
      // Parent background.
      ThemeServices.DrawParentBackground(Handle, DrawItemStruct.hDC, @Details, True);
      // Button shape.
      ThemeServices.DrawElement(DrawItemStruct.hDC, Details, DrawItemStruct.rcItem);
      R := ThemeServices.ContentRect(FCanvas.Handle, Details, DrawItemStruct.rcItem);

      if Button = tbPushButtonPressed then
        Offset := Point(1, 0)
      else
        Offset := Point(0, 0);
      TButtonGlyph_Draw(Self, FCanvas, R, Offset, Caption, Layout, Margin, Spacing, State, False,
        DrawTextBiDiModeFlags(0) {$IFDEF COMPILER_7_UP}, Self.WordWrap {$ENDIF});

      if IsFocused and IsDefault then
      begin
        FCanvas.Pen.Color := clWindowFrame;
        FCanvas.Brush.Color := clBtnFace;
        DrawFocusRect(FCanvas.Handle, R);
      end;
    end
    else
    {$ENDIF}
    begin
      R := ClientRect;

      Flags := DFCS_BUTTONPUSH or DFCS_ADJUSTRECT;
      if IsDown then Flags := Flags or DFCS_PUSHED;
      if DrawItemStruct.itemState and ODS_DISABLED <> 0 then
        Flags := Flags or DFCS_INACTIVE;

      { DrawFrameControl doesn't allow for drawing a button as the
          default button, so it must be done here. }
      if IsFocused or IsDefault then
      begin
        FCanvas.Pen.Color := clWindowFrame;
        FCanvas.Pen.Width := 1;
        FCanvas.Brush.Style := bsClear;
        FCanvas.Rectangle(R.Left, R.Top, R.Right, R.Bottom);

        { DrawFrameControl must draw within this border }
        InflateRect(R, -1, -1);
      end;

      { DrawFrameControl does not draw a pressed button correctly }
      if IsDown then
      begin
        FCanvas.Pen.Color := clBtnShadow;
        FCanvas.Pen.Width := 1;
        FCanvas.Brush.Color := clBtnFace;
        FCanvas.Rectangle(R.Left, R.Top, R.Right, R.Bottom);
        InflateRect(R, -1, -1);
      end
      else
        DrawFrameControl(DrawItemStruct.hDC, R, DFC_BUTTON, Flags);

      if IsFocused then
      begin
        R := ClientRect;
        InflateRect(R, -1, -1);
      end;

      FCanvas.Font := Self.Font;
      if IsDown then
        OffsetRect(R, 1, 1);

      TButtonGlyph_Draw(Self, FCanvas, R, Point(0, 0), Caption, Layout, Margin, Spacing, State,
        False, DrawTextBiDiModeFlags(0) {$IFDEF COMPILER_7_UP}, Self.WordWrap {$ENDIF});

      if IsFocused and IsDefault then
      begin
        R := ClientRect;
        InflateRect(R, -4, -4);
        FCanvas.Pen.Color := clWindowFrame;
        FCanvas.Brush.Color := clBtnFace;
        DrawFocusRect(FCanvas.Handle, R);
      end;
    end;
    FCanvas.Handle := 0;
  except
    on E: EAbortPaint do
      ;
    else
      raise;
  end;
end;

procedure TTntBitBtn.CMMouseEnter(var Message: TMessage);
begin
  FMouseInControl := True;
  inherited;
end;

procedure TTntBitBtn.CMMouseLeave(var Message: TMessage);
begin
  FMouseInControl := False;
  inherited;
end;

{$IFDEF COMPILER_10_UP}
type
  TAccessButton = class(TButton{TNT-ALLOW TButton});
{$ENDIF}

procedure TTntBitBtn.ActionChange(Sender: TObject; CheckDefaults: Boolean);
{$IFDEF COMPILER_10_UP}
// bug fix for VCL where ImageIndex on Action ALWAYS overrides the Glyph.
type
  CallActionChange = procedure(Sender: TObject; CheckDefaults: Boolean) of object;
var
  M: TMethod;
{$ENDIF}
begin
  TntControl_BeforeInherited_ActionChange(Self, Sender, CheckDefaults);
  {$IFNDEF COMPILER_10_UP}
  inherited;
  {$ELSE}
  // call TButton.ActionChange (bypass TBitBtn.ActionChange)
  M.Code := @TAccessButton.ActionChange;
  M.Data := Self;
  CallActionChange(M)(Sender, CheckDefaults);
  // call Delphi2005's TBitBtn.ActionChange
  if Sender is TCustomAction{TNT-ALLOW TCustomAction} then
    with TCustomAction{TNT-ALLOW TCustomAction}(Sender) do
    begin
      { Copy image from action's imagelist }
      if (Glyph.Empty) and (ActionList <> nil) and (ActionList.Images <> nil) and
        (ImageIndex >= 0) and (ImageIndex < ActionList.Images.Count) then
        CopyImage(ActionList.Images, ImageIndex);
    end;
  {$ENDIF}
end;

function TTntBitBtn.GetActionLinkClass: TControlActionLinkClass;
begin
  Result := TntControl_GetActionLinkClass(Self, inherited GetActionLinkClass);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合成人精品亚洲另类欧美 | 亚洲欧美日韩国产一区二区三区 | 国产精品久久久久婷婷| 欧美一区二区视频在线观看2020| 99久久伊人网影院| 成人丝袜视频网| 波多野结衣在线一区| 成人黄色国产精品网站大全在线免费观看 | 久久噜噜亚洲综合| 久久免费看少妇高潮| 国产色一区二区| 中文字幕视频一区二区三区久| 国产精品第13页| 一区二区在线观看免费视频播放| 亚洲精品一二三区| youjizz久久| 亚洲一区二区三区免费视频| 亚洲卡通欧美制服中文| 亚洲综合偷拍欧美一区色| 亚洲成人精品在线观看| 亚洲bt欧美bt精品| 国产一区二区毛片| 色婷婷亚洲一区二区三区| 欧美视频一区在线观看| 日韩免费视频一区| 国产精品国产自产拍在线| 亚洲自拍偷拍欧美| 国产一区二区三区蝌蚪| 91在线视频播放| 91精品国产福利| 欧美国产禁国产网站cc| 天使萌一区二区三区免费观看| 蜜臀av性久久久久av蜜臀妖精| 免费看欧美女人艹b| 日韩综合在线视频| 国产盗摄一区二区| 欧美精品久久一区| 中文字幕av不卡| 日本免费在线视频不卡一不卡二| 成人免费视频免费观看| 在线观看91精品国产麻豆| 国产精品久久久久久亚洲毛片| 五月激情综合婷婷| 91在线精品一区二区| 日韩精品综合一本久道在线视频| 综合色天天鬼久久鬼色| 极品瑜伽女神91| 欧美日韩三级在线| 中文字幕在线免费不卡| 国产一区视频导航| 在线电影院国产精品| 亚洲最快最全在线视频| 国产凹凸在线观看一区二区| 日韩限制级电影在线观看| 亚洲一区二区三区四区在线免费观看 | 欧美日韩国产不卡| 亚洲精品视频观看| 成人不卡免费av| 久久久久久电影| 久久精品国产99国产精品| 欧美美女激情18p| 亚洲欧美激情在线| 97se亚洲国产综合自在线| 中文字幕精品三区| 国产精品一区久久久久| 欧美精品三级在线观看| 亚洲伊人伊色伊影伊综合网| 91碰在线视频| 亚洲欧洲成人av每日更新| 成人免费视频一区二区| 国产欧美日韩久久| 国产成人在线视频网站| 久久婷婷一区二区三区| 国产一区二区三区精品视频| 久久久亚洲精品一区二区三区| 久久国产剧场电影| 日韩三级中文字幕| 麻豆精品一区二区三区| 欧美一级二级三级乱码| 奇米四色…亚洲| 日韩美女视频在线| 韩国女主播一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av | 欧美日韩激情一区二区| 亚洲国产sm捆绑调教视频 | 91天堂素人约啪| 亚洲免费观看高清在线观看| 在线观看免费视频综合| 亚洲v日本v欧美v久久精品| 欧美日韩国产在线播放网站| 日本午夜一本久久久综合| 精品久久人人做人人爱| 成人午夜视频福利| 亚洲免费在线视频一区 二区| 欧美三级在线看| 捆绑紧缚一区二区三区视频| 久久久久高清精品| 91网页版在线| 视频在线在亚洲| 久久先锋影音av鲁色资源网| jlzzjlzz欧美大全| 五月综合激情日本mⅴ| 欧美不卡一区二区三区四区| 夫妻av一区二区| 亚洲成年人影院| 久久蜜臀精品av| 日本高清不卡在线观看| 久久99久久精品| 亚洲人成网站色在线观看| 日韩欧美高清一区| 北岛玲一区二区三区四区 | 欧美mv日韩mv亚洲| 91在线观看污| 毛片不卡一区二区| 日韩理论片一区二区| 欧美成人性福生活免费看| 成人激情开心网| 男男视频亚洲欧美| 中文字幕佐山爱一区二区免费| 在线综合视频播放| 99精品久久99久久久久| 久久99九九99精品| 亚洲成人黄色小说| 国产精品福利av| 欧美成人r级一区二区三区| 在线一区二区三区| 国产高清不卡二三区| 男人操女人的视频在线观看欧美| 亚洲精品ww久久久久久p站| 国产亚洲精品7777| 日韩午夜在线影院| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品欧美一区喷水| 91精品啪在线观看国产60岁| 在线视频你懂得一区| 豆国产96在线|亚洲| 国产最新精品精品你懂的| 亚洲国产精品视频| 亚洲日本青草视频在线怡红院| 国产片一区二区三区| 精品免费国产二区三区| 欧美疯狂性受xxxxx喷水图片| 欧美系列日韩一区| 成人av在线观| 成人中文字幕合集| 国产麻豆午夜三级精品| 国产制服丝袜一区| 久久99精品国产.久久久久| 国产精品欧美综合在线| 日韩午夜中文字幕| 日韩视频不卡中文| 欧美xxxx老人做受| 日韩一区二区免费电影| 91麻豆精品国产91久久久久久久久| 欧日韩精品视频| 91久久精品一区二区二区| 91麻豆免费看片| 91国偷自产一区二区开放时间 | 国产婷婷一区二区| 精品99999| 久久久亚洲高清| 久久九九影视网| 国产精品高清亚洲| 一区二区三区小说| 亚洲国产精品一区二区www在线 | 久久久综合精品| 日本一区二区三区在线不卡| 国产精品久久久久久久久图文区| 中文字幕一区二区三区在线观看| 国产精品乱码一区二区三区软件 | 波多野结衣中文字幕一区| 成人国产精品免费| 欧洲色大大久久| 欧美日韩国产区一| 久久综合色播五月| 国产精品成人网| 亚洲午夜精品17c| 麻豆精品国产91久久久久久| 国产福利91精品一区| 91蝌蚪porny| 欧美成va人片在线观看| 国产精品久久久久久久久晋中| 一二三区精品福利视频| 国产综合久久久久久鬼色| 91首页免费视频| 91精品国产综合久久久蜜臀粉嫩| 亚洲精品一区二区三区福利| 亚洲欧美另类久久久精品| 美国三级日本三级久久99| av电影天堂一区二区在线观看| 欧美午夜寂寞影院| 久久久久久麻豆| 亚洲第一福利视频在线| 国产精品1024| 欧美一区二区三区啪啪| 亚洲三级久久久| 国产精品91一区二区| 欧美日韩国产一级片| 亚洲图片另类小说| 国产精品综合在线视频|