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

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

?? tflattabcontrolunit.pas

?? 工程管理部門配件倉庫屬于生產(chǎn)輔助倉庫
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit TFlatTabControlUnit;

interface

{$I Version.inc}

uses
  Windows, Messages, Classes, Controls, Forms, Graphics, StdCtrls, SysUtils, FlatUtilitys;

type
  TFlatTabControl = class(TCustomControl)
  private
    FUseAdvColors: Boolean;
    FAdvColorBorder: TAdvColors;
    FTabPosition: TFlatTabPosition;
    FTabs: TStrings;
    FTabsRect: TList;
    FTabHeight: Integer;
    FTabSpacing: Integer;
    FActiveTab: Integer;
    FUnselectedColor: TColor;
    FBorderColor: TColor;
    FOnTabChanged: TNotifyEvent;
    procedure SetTabs (Value: TStrings);
    procedure SetTabPosition (Value: TFlatTabPosition);
    procedure SetTabHeight (Value: Integer);
    procedure SetTabSpacing (Value: Integer);
    procedure SetActiveTab (Value: Integer);
    procedure SetColors (Index: Integer; Value: TColor);
    procedure SetAdvColors (Index: Integer; Value: TAdvColors);
    procedure SetUseAdvColors (Value: Boolean);
    procedure SetTabRect;
    procedure CMDialogChar (var Message: TCMDialogChar); message CM_DIALOGCHAR;
    procedure CMEnabledChanged (var Message: TMessage); message CM_ENABLEDCHANGED;
    procedure WMSize (var Message: TWMSize); message WM_SIZE;
    procedure CMSysColorChange (var Message: TMessage); message CM_SYSCOLORCHANGE;
    procedure CMParentColorChanged (var Message: TWMNoParams); message CM_PARENTCOLORCHANGED;
    procedure CMDesignHitTest(var Message: TCMDesignHitTest); message CM_DESIGNHITTEST;
  protected
    procedure CalcAdvColors;
    procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure Loaded; override;
    procedure Paint; override;
  public
    constructor Create (AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Align;
    property ColorBorder: TColor index 0 read FBorderColor write SetColors default $008396A0;
    property ColorUnselectedTab: TColor index 1 read FUnselectedColor write SetColors default $00996633;
    property AdvColorBorder: TAdvColors index 0 read FAdvColorBorder write SetAdvColors default 50;
    property UseAdvColors: Boolean read FUseAdvColors write SetUseAdvColors default false;
    property Tabs: TStrings read FTabs write SetTabs;
    property TabHeight: Integer read FTabHeight write SetTabHeight default 16;
    property TabSpacing: Integer read FTabSpacing write SetTabSpacing default 4;
    property TabPosition: TFlatTabPosition read FTabPosition write SetTabPosition default tpTop;
    property ActiveTab: Integer read FActiveTab write SetActiveTab default 0;
    property Font;
    property Color;
    property ParentColor;
    property Enabled;
    property Visible;
    property Cursor;
    property ParentShowHint;
    property ParentFont;
    property ShowHint;

    property OnEnter;
    property OnExit;
    property OnMouseMove;
    property OnMouseDown;
    property OnMouseUp;
    property OnTabChanged: TNotifyEvent read FOnTabChanged write FOnTabChanged;
   {$IFDEF D4CB4}
    property Anchors;
    property BiDiMode;
    property Constraints;
    property DragKind;
    property ParentBiDiMode;
    property OnEndDock;
    property OnStartDock;
   {$ENDIF}
  end;

implementation

procedure TFlatTabControl.CMDesignHitTest(var Message: TCMDesignHitTest);
begin
  case FTabPosition of
    tpTop:
      if PtInRect(Rect(ClientRect.Left, ClientRect.Top, ClientRect.Right, ClientRect.Top + FTabHeight + 1), Point(message.XPos, message.YPos)) then
        Message.Result := 1
      else
        Message.Result := 0;
    tpBottom:
      if PtInRect(Rect(ClientRect.Left, ClientRect.Bottom - FTabHeight, ClientRect.Right, ClientRect.Bottom), Point(message.XPos, message.YPos)) then
        Message.Result := 1
      else
        Message.Result := 0;
  end;
end;

constructor TFlatTabControl.Create (AOwner: TComponent);
begin
  inherited;
  ControlStyle := ControlStyle + [csAcceptsControls, csOpaque];
  SetBounds(Left, Top, 289, 193);
  FTabs := TStringList.Create;
  FTabsRect := TList.Create;
  FTabHeight := 16;
  FTabSpacing := 4;
  FTabPosition := tpTop;
  FActiveTab := 0;
  Color := $00E1EAEB;
  FBorderColor := $008396A0;
  FUnselectedColor := $00996633;
  ParentColor := true;
  ParentFont := true;
  FUseAdvColors := false;
  FAdvColorBorder := 50;
end;

destructor TFlatTabControl.Destroy;
begin
  FTabs.Free;
  FTabsRect.Free;
  inherited;
end;

procedure TFlatTabControl.CalcAdvColors;
begin
  if FUseAdvColors then
  begin
    FBorderColor := CalcAdvancedColor(Color, FBorderColor, FAdvColorBorder, darken);
  end;
end;

procedure TFlatTabControl.SetAdvColors (Index: Integer; Value: TAdvColors);
begin
  case Index of
    0: FAdvColorBorder := Value;
  end;
  CalcAdvColors;
  Invalidate;
end;

procedure TFlatTabControl.SetUseAdvColors (Value: Boolean);
begin
  if Value <> FUseAdvColors then
  begin
    FUseAdvColors := Value;
    ParentColor := Value;
    CalcAdvColors;
    Invalidate;
  end;
end;

procedure TFlatTabControl.CMSysColorChange (var Message: TMessage);
begin
  if FUseAdvColors then
  begin
    ParentColor := True;
    CalcAdvColors;
  end;
  Invalidate;
end;

procedure TFlatTabControl.CMParentColorChanged (var Message: TWMNoParams);
begin
  inherited;
  if FUseAdvColors then
  begin
    ParentColor := True;
    CalcAdvColors;
  end;
  Invalidate;
end;

procedure TFlatTabControl.Loaded;
begin
  inherited;
  SetTabRect;
  Invalidate;
end;

procedure TFlatTabControl.WMSize (var Message: TWMSize);
begin
  inherited;
  SetTabRect;
  Invalidate;
end;

procedure TFlatTabControl.CMEnabledChanged (var Message: TMessage);
begin
  inherited;
  Invalidate;
end;

procedure TFlatTabControl.SetTabPosition (Value: TFlatTabPosition);
var
  I: Integer;
begin
  if Value <> FTabPosition then
  begin
    for I := 0 to ControlCount - 1 do // reposition client-controls
    begin
      if Value = tpTop then
        Controls[I].Top := Controls[I].Top + TabHeight
      else
        Controls[I].Top := Controls[I].Top - TabHeight;
    end;
    FTabPosition := Value;
    SetTabRect;
    Invalidate;
  end;
end;

procedure TFlatTabControl.SetActiveTab (Value: Integer);
begin
  if FTabs <> nil then
  begin
    if Value > (FTabs.Count - 1) then
      Value := FTabs.Count - 1
    else
      if Value < 0 then
        Value := 0;

    FActiveTab := Value;
    if Assigned(FOnTabChanged) then
      FOnTabChanged(Self);
    Invalidate;
  end
  else
    FActiveTab := 0;
  if csDesigning in ComponentState then
    if (GetParentForm(self) <> nil) and (GetParentForm(self).Designer <> nil) then
      GetParentForm(self).Designer.Modified;
end;

procedure TFlatTabControl.SetColors (Index: Integer; Value: TColor);
begin
  case Index of
    0: FBorderColor := Value;
    1: FUnselectedColor := Value;
  end;
  Invalidate;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品aaa| 国产女人18水真多18精品一级做| 精品国产乱码久久| 亚洲欧美日韩国产中文在线| 蜜桃久久久久久久| 色综合一区二区三区| 精品国产成人系列| 亚洲第一福利一区| 不卡一二三区首页| 日韩精品一区二区三区视频| 亚洲一级电影视频| 成人一区二区三区视频在线观看 | 麻豆中文一区二区| 91黄视频在线| 国产精品美女久久久久aⅴ| 麻豆久久久久久久| 欧美日韩三级视频| 亚洲一区免费视频| 91麻豆福利精品推荐| 国产日本一区二区| 国产一区二区影院| 欧美电影免费观看高清完整版在线 | 在线视频你懂得一区二区三区| 国产亚洲一区字幕| 精品一区二区av| 欧美一区二区视频在线观看| 亚洲一区二区三区中文字幕| 91在线观看一区二区| 国产精品欧美极品| 春色校园综合激情亚洲| 久久久久久亚洲综合影院红桃| 麻豆91小视频| 日韩一二三区视频| 日本免费新一区视频| 在线免费视频一区二区| 亚洲精品日产精品乱码不卡| 91丨国产丨九色丨pron| 国产精品国产三级国产有无不卡| 国产99久久久国产精品潘金网站| 久久亚洲一级片| 国产精品综合二区| 国产午夜精品一区二区三区视频| 国产一区亚洲一区| 久久九九久久九九| 国产不卡视频一区| 中文字幕中文字幕一区| 99精品在线观看视频| 伊人色综合久久天天人手人婷| 91蜜桃在线观看| 一区二区三区不卡视频在线观看| 日本高清无吗v一区| 亚洲午夜电影在线观看| 欧美日韩一区久久| 日本三级韩国三级欧美三级| 欧美一区国产二区| 久久99精品国产.久久久久| 久久综合久久鬼色| 成人午夜大片免费观看| 综合自拍亚洲综合图不卡区| 色婷婷国产精品综合在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩国产经典色站一区二区三区| 偷拍亚洲欧洲综合| 欧美大片国产精品| 播五月开心婷婷综合| 国产高清视频一区| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲老司机在线| 欧美久久婷婷综合色| 高清不卡在线观看| 国产a区久久久| 午夜久久电影网| 一区二区三区在线视频观看58| 色综合久久久久综合| 亚洲va韩国va欧美va| 日韩限制级电影在线观看| 国产乱人伦精品一区二区在线观看 | 成人在线综合网站| 亚洲免费av高清| 制服丝袜av成人在线看| 国精品**一区二区三区在线蜜桃| 国产精品美女久久久久久久 | 北条麻妃一区二区三区| 亚洲制服丝袜一区| 精品奇米国产一区二区三区| 风间由美一区二区av101| 一区二区三区资源| 欧美r级在线观看| 成人福利视频在线| 视频一区在线播放| 国产欧美一区视频| 欧美亚洲综合色| 国产精品一区二区三区99| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩中文国产| 国产成+人+日韩+欧美+亚洲| 亚洲午夜电影在线| 国产欧美久久久精品影院| 欧美中文字幕亚洲一区二区va在线 | 精品成人一区二区三区| 色综合中文字幕| 国产在线精品一区二区| 亚洲精品大片www| 久久综合久久综合九色| 欧美三级视频在线观看| 国产成人自拍网| 午夜精品123| 亚洲天堂久久久久久久| 精品理论电影在线观看| 色菇凉天天综合网| 国产成人精品免费网站| 五月天亚洲婷婷| 日韩码欧中文字| 精品国产123| 欧美日韩国产首页在线观看| 成人在线综合网站| 韩国一区二区三区| 婷婷丁香久久五月婷婷| 日韩美女视频19| 久久久亚洲精品石原莉奈| 911精品国产一区二区在线| 99精品一区二区三区| 国产精品香蕉一区二区三区| 日韩电影网1区2区| 一区二区三区在线免费视频| 国产欧美日韩精品在线| 精品少妇一区二区三区视频免付费| 在线观看日韩高清av| 成人深夜福利app| 国产在线播放一区| 麻豆精品久久久| 亚洲va中文字幕| 一区二区三区在线视频播放| 国产精品乱子久久久久| 久久久久久久久久电影| 日韩视频一区在线观看| 欧美午夜片在线观看| 色综合一区二区| 97久久超碰国产精品电影| 国产91丝袜在线播放九色| 精品一区精品二区高清| 免费成人性网站| 石原莉奈在线亚洲二区| 一区二区三区**美女毛片| 亚洲免费大片在线观看| 《视频一区视频二区| 国产精品国产三级国产普通话三级 | 91国在线观看| 色中色一区二区| 97se亚洲国产综合自在线观| 成人一区二区三区中文字幕| 国产91精品在线观看| 国产大陆精品国产| 国产一二精品视频| 国产河南妇女毛片精品久久久| 久久99精品久久久久久动态图| 日本91福利区| 美脚の诱脚舐め脚责91| 美日韩黄色大片| 精品一区二区三区影院在线午夜| 美女视频免费一区| 麻豆精品国产91久久久久久| 毛片不卡一区二区| 极品少妇xxxx精品少妇偷拍| 国产一级精品在线| 成人午夜伦理影院| av成人老司机| 色av一区二区| 欧美日韩精品一区二区三区蜜桃 | av欧美精品.com| 99re热视频精品| 在线观看免费成人| 欧美日产国产精品| 日韩一级片网站| 国产日韩欧美电影| 国产精品成人网| 亚洲综合清纯丝袜自拍| 亚洲一卡二卡三卡四卡无卡久久| 日韩电影免费一区| 精品一区二区三区免费观看| 国v精品久久久网| 色综合久久中文综合久久牛| 欧美熟乱第一页| 日韩一级免费一区| 日本一区二区三区高清不卡 | 国产夜色精品一区二区av| 中文在线一区二区| 亚洲激情一二三区| 日欧美一区二区| 国产乱人伦精品一区二区在线观看 | 奇米在线7777在线精品| 国产精品一线二线三线精华| 99热在这里有精品免费| 欧美三级视频在线| 欧美大胆人体bbbb| 国产精品视频免费看| 伊人性伊人情综合网| 久草在线在线精品观看| 成人午夜av在线| 777a∨成人精品桃花网|