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

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

?? uxpform.pas

?? 模仿WindowsXP界面
?? PAS
字號(hào):
unit uXPForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons, Menus, Win2k;

resourcestring
  resBtnMaxCap      = '口';
  resBtnRestoreCap  = '呂';

  resBtnMaxHint     = '最大化';
  resBtnRestoreHint = '還原';
  resBtnMinHint     = '最小化';
  resBtnCloseHint   = '關(guān)閉';

const
  intSysBtnWidth    = 21;

type
  TXPForm = class(TForm)
    pnlCaptionParent: TPanel;
    pnlCaption: TPanel;
    ImgIcon: TImage;
    pnlSysBox: TPanel;
    btnMin: TSpeedButton;
    btnMax: TSpeedButton;
    btnClose: TSpeedButton;
    procedure btnCloseClick(Sender: TObject);
    procedure pnlCaptionMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure btnMaxClick(Sender: TObject);
    procedure btnMinClick(Sender: TObject);
  private
    { Private declarations }
    FMax : Boolean;
    FAlphaBlend: Byte;
    function GetCaptionBKColor: TColor;
    function GetCaptionFont: TFont;
    procedure SetCaptionBKColor(const Value: TColor);
    procedure SetCaptionFont(const Value: TFont);
    procedure SetCloseVisible(const Value: Boolean);
    procedure SetMaxVisible(const Value: Boolean);
    procedure SetMinVisible(const Value: Boolean);
    function GetCloseVisible: Boolean;
    function GetMaxVisible: Boolean;
    function GetMinVisible: Boolean;
    function GetCaptionAlign: TAlignment;
    procedure SetCaptionAlign(const Value: TAlignment);
    procedure SetAlphaBlend(const Value: Byte);
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure SetSysBtnVisible;
    property CaptionFont : TFont read GetCaptionFont write SetCaptionFont;
    property CaptionBKColor : TColor read GetCaptionBKColor write SetCaptionBKColor;
    property CloseVisible : Boolean read GetCloseVisible write SetCloseVisible default true;
    property MaxVisible : Boolean read GetMaxVisible write SetMaxVisible default true;
    property MinVisible : Boolean read GetMinVisible write SetMinVisible default true;
    property CaptionAlign : TAlignment read GetCaptionAlign write SetCaptionAlign default taCenter;
    property AlphaBlend : Byte read FAlphaBlend write SetAlphaBlend default 255;
  end;

var
  XPForm: TXPForm;

implementation

{$R *.DFM}

procedure TXPForm.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style and (not WS_CAPTION) and (not WS_BORDER);
  Params.Style := Params.Style or WS_POPUP or WS_THICKFRAME or WS_CLIPCHILDREN;
end;

procedure TXPForm.btnCloseClick(Sender: TObject);
begin
  if not btnClose.Visible then Exit;
  Close;
end;

procedure TXPForm.pnlCaptionMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if WindowState = wsMaximized then Exit;
  ReleaseCapture;
  Perform(WM_SysCommand, $F012, 0);
end;

procedure TXPForm.btnMaxClick(Sender: TObject);
begin
  if not btnMax.Visible then Exit;
  FMax := not FMax;
  if FMax then begin
    WindowState := wsMaximized;
//    btnMax.Caption := resBtnRestoreCap;
    btnMax.Hint := resBtnRestoreHint;
  end else begin
    WindowState := wsNormal;
//    btnMax.Caption := resBtnMaxCap;
    btnMax.Hint := resBtnMaxHint;
  end;
end;

constructor TXPForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  AlphaBlend := Byte(255);
  SetAlphaBlend(FAlphaBlend);
  SetSysBtnVisible;
  if ImgIcon.Picture.Graphic <> nil then Exit;
  if (AOwner is TForm) then begin
    ImgIcon.Picture.Assign(TForm(AOwner).Icon);
  end else begin
    if (AOwner is TApplication) then begin
      ImgIcon.Picture.Assign(TApplication(AOwner).Icon);
    end;
  end;
end;

destructor TXPForm.Destroy;
begin
  inherited Destroy;
end;

function TXPForm.GetCaptionBKColor: TColor;
begin
  Result := pnlCaptionParent.Color;
end;

function TXPForm.GetCaptionFont: TFont;
begin
  Result := pnlCaption.Font;
end;

procedure TXPForm.SetCaptionBKColor(const Value: TColor);
begin
  if pnlCaptionParent.Color <> Value then begin
    pnlCaptionParent.Color := Value;
  end;
end;

procedure TXPForm.SetCaptionFont(const Value: TFont);
begin
  if pnlCaption.Font <> Value then
    pnlCaption.Font := Value;
end;

function TXPForm.GetCloseVisible: Boolean;
begin
  Result := btnClose.Visible;
end;

function TXPForm.GetMaxVisible: Boolean;
begin
  Result := btnMax.Visible;
end;

function TXPForm.GetMinVisible: Boolean;
begin
  Result := btnMin.Visible;
end;

procedure TXPForm.SetCloseVisible(const Value: Boolean);
begin
  if btnClose.Visible <> Value then begin
    btnClose.Visible := Value;
    SetSysBtnVisible;
  end;
end;

procedure TXPForm.SetMaxVisible(const Value: Boolean);
begin
  if btnMax.Visible <> Value then begin
    btnMax.Visible := Value;
    SetSysBtnVisible;
  end;
end;

procedure TXPForm.SetMinVisible(const Value: Boolean);
begin
  if btnMin.Visible <> Value then begin
    btnMin.Visible := Value;
    SetSysBtnVisible;
  end;
end;

procedure TXPForm.SetSysBtnVisible;
var
  iBevelWidth : integer;
  iClient : integer;
begin
  btnClose.Hint := resBtnCloseHint;
  btnMin.Hint := resBtnMinHint;
  btnMax.Hint := resBtnMaxHint;
  if (pnlCaptionParent.BevelInner <> bvNone) or (pnlCaptionParent.BevelOuter <> bvNone) then
    iBevelWidth := 2
  else
    iBevelWidth := 1;
  if (pnlCaptionParent.BevelInner <> bvNone) and (pnlCaptionParent.BevelOuter <> bvNone) then begin
    btnMax.Top := 0;
    btnMin.Top := 0;
    btnClose.Top := 0;
  end else begin
    btnMax.Top := 1;
    btnMin.Top := 1;
    btnClose.Top := 1;
  end;
  iClient := pnlSysBox.ClientWidth;
  iClient := iClient - iBevelWidth;
  if btnClose.Visible then begin
    btnClose.Left := iClient - intSysBtnWidth;
    if btnMax.Visible then begin
      btnMax.Left := iClient - intSysBtnWidth * 2;
      btnMin.Left := iClient - intSysBtnWidth * 3;
    end else begin
      btnMin.Left := iClient - intSysBtnWidth * 2;
    end;
  end else begin
    if btnMax.Visible then begin
      btnMax.Left := iClient - intSysBtnWidth;
      btnMin.Left := iClient - intSysBtnWidth * 2;
    end else begin
      btnMin.Left := iClient - intSysBtnWidth;
    end;
  end;
end;

function TXPForm.GetCaptionAlign: TAlignment;
begin
  Result := pnlCaption.Alignment;
end;

procedure TXPForm.SetCaptionAlign(const Value: TAlignment);
begin
  if pnlCaption.Alignment <> Value then begin
    pnlCaption.Alignment := Value;
  end;
end;

procedure TXPForm.btnMinClick(Sender: TObject);
begin
  if not btnMin.Visible then Exit;
  if Application.MainForm = Self then
    Application.Minimize
  else
    WindowState := wsMinimized;
end;

procedure TXPForm.SetAlphaBlend(const Value: Byte);
begin
  if Value <> FAlphaBlend then begin
    FAlphaBlend := Value;
    SetLayeredWindowAttributes(Handle,0,FAlphaBlend,LWA_ALPHA);
  end;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品2019中文字幕之3| 日韩一卡二卡三卡| 色拍拍在线精品视频8848| 亚洲美女视频在线| 欧美激情一区二区三区在线| 日韩欧美国产综合一区| 粉嫩蜜臀av国产精品网站| 天堂影院一区二区| 午夜激情久久久| 午夜激情久久久| 天天影视色香欲综合网老头| 午夜精品久久久久久久久久久| 一区二区三区成人| 午夜欧美在线一二页| 日韩av一区二区三区四区| 天天操天天干天天综合网| 日韩黄色片在线观看| 蜜臀av一区二区在线免费观看 | 亚洲私人影院在线观看| 中文字幕一区免费在线观看| 综合av第一页| 亚洲午夜久久久久久久久电影网 | 天堂资源在线中文精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 美女免费视频一区二区| 国产精品亚洲专一区二区三区 | 亚洲精品免费播放| 亚洲1区2区3区4区| 精品一区二区三区免费播放| 国产99久久久精品| 欧美午夜影院一区| 日韩欧美一区二区视频| 国产无一区二区| 亚洲精品成人精品456| 亚洲成av人片在线观看无码| 蜜桃av噜噜一区| bt7086福利一区国产| 欧美中文字幕一区| 久久网这里都是精品| 亚洲国产电影在线观看| 一区二区三区在线看| 毛片不卡一区二区| 色婷婷综合久久久中文一区二区 | 久久伊99综合婷婷久久伊| 中文字幕精品一区二区三区精品| 日韩理论在线观看| 天堂一区二区在线| 国产成人免费视频网站高清观看视频| 99久久99久久久精品齐齐| 欧美浪妇xxxx高跟鞋交| 国产欧美中文在线| 日本va欧美va瓶| 91久久精品网| 国产女同互慰高潮91漫画| 偷拍一区二区三区| av男人天堂一区| 26uuu国产电影一区二区| 亚洲与欧洲av电影| 国产传媒日韩欧美成人| 欧美一区二区三区四区在线观看 | 《视频一区视频二区| 国产裸体歌舞团一区二区| 8x8x8国产精品| 怡红院av一区二区三区| 国产成人免费视| 亚洲精品一区二区三区影院| 国产福利精品导航| 精品少妇一区二区三区视频免付费 | 国产剧情在线观看一区二区| 欧美精品日韩一本| 亚洲电影视频在线| 色婷婷精品大视频在线蜜桃视频| 久久九九全国免费| 国产在线播放一区二区三区| 91精品国产色综合久久ai换脸| 一级日本不卡的影视| jvid福利写真一区二区三区| 久久久99免费| 国产在线精品一区二区不卡了| 欧美日韩国产天堂| 日本视频一区二区三区| 日韩一区二区在线观看| 秋霞影院一区二区| 91精品免费在线| 天堂va蜜桃一区二区三区漫画版 | 日韩精品乱码av一区二区| av在线一区二区| 日韩精品欧美精品| 26uuuu精品一区二区| 国产精品午夜春色av| 福利一区二区在线观看| 久久久久九九视频| 国产成+人+日韩+欧美+亚洲| 欧美激情一区二区三区全黄| 成人一区二区三区视频在线观看| 2024国产精品| 国产一区二区三区香蕉| 亚洲午夜免费福利视频| 欧美高清视频一二三区| 奇米色一区二区三区四区| 日韩视频永久免费| 国产激情一区二区三区| 日韩伦理免费电影| 欧美美女喷水视频| 狠狠色狠狠色综合| 日韩一区在线播放| 欧美肥胖老妇做爰| 成人短视频下载| 亚洲成av人片一区二区| 日韩精品中文字幕在线不卡尤物| 成人激情文学综合网| 婷婷开心激情综合| 欧美激情中文字幕| 7777女厕盗摄久久久| 国产精品1区2区| 亚洲国产裸拍裸体视频在线观看乱了 | 蜜臀av一区二区三区| 成人免费在线播放视频| 欧美电影一区二区三区| 福利91精品一区二区三区| 日韩激情在线观看| 国产精品网曝门| 欧美一级视频精品观看| www.亚洲免费av| 精品影视av免费| 国产精品久久久久四虎| 91精品国产品国语在线不卡| 国产成人8x视频一区二区| 日本中文字幕一区二区视频| 国产精品乱码久久久久久| 精品久久国产97色综合| 色综合久久久网| 国产99久久久国产精品| 午夜伊人狠狠久久| 中文字幕精品在线不卡| 久久久噜噜噜久久人人看| 欧美夫妻性生活| 色94色欧美sute亚洲13| 成人精品视频一区二区三区 | 26uuu欧美| 7777精品伊人久久久大香线蕉完整版 | 亚洲精品在线电影| 色哟哟国产精品| 成人免费视频caoporn| 黑人精品欧美一区二区蜜桃| 日韩av中文在线观看| 亚洲欧美影音先锋| 亚洲欧洲国产日韩| 久久综合色天天久久综合图片| 欧美丰满嫩嫩电影| 欧美日韩大陆在线| 7777女厕盗摄久久久| 欧美日韩成人一区| 欧美日本一区二区| 91超碰这里只有精品国产| 日本久久一区二区三区| 在线精品视频一区二区三四| 91在线观看高清| 国产盗摄女厕一区二区三区| 日韩国产精品大片| 美女在线观看视频一区二区| 秋霞午夜av一区二区三区| 青青草国产成人av片免费| 日韩二区三区四区| 久久福利视频一区二区| 国产盗摄一区二区三区| caoporen国产精品视频| 97精品久久久久中文字幕| 99九九99九九九视频精品| 日韩电影免费一区| 亚洲在线视频网站| 日产精品久久久久久久性色| 麻豆成人久久精品二区三区小说| 久99久精品视频免费观看| 国产精品自在欧美一区| 91首页免费视频| 欧美一二三区精品| 国产日韩亚洲欧美综合| 亚洲精品成人在线| 麻豆成人91精品二区三区| 成人美女在线视频| 欧美色欧美亚洲另类二区| 精品电影一区二区| 亚洲天天做日日做天天谢日日欢| 亚洲小说欧美激情另类| 精品一区二区三区不卡| 99re6这里只有精品视频在线观看| 91久久精品一区二区| 久久精品一区二区三区不卡 | 国产亚洲欧美激情| 99久久精品免费| 国产精品18久久久久久久久| 国产在线精品不卡| 成人精品视频.| 成人精品小蝌蚪| 欧美一区二区在线免费观看| 欧美疯狂做受xxxx富婆| 精品少妇一区二区三区在线视频 | 欧美久久久久久久久中文字幕| 91免费看`日韩一区二区|