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

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

?? macform.pas

?? Clock 桌面時鐘 日歷 陰歷 看到的delphi程序 轉發
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
Unit MacForm;

Interface

Uses
  Windows,
  Messages,
  SysUtils,
  Classes,
  Graphics,
  Controls,
  Forms,
  IniFiles,
  ExtCtrls,
  Menus,
  Math,
  FileCtrl,
  jpeg,
  DateUtils,
  Registry,
  StdCtrls,
  Spin;
Const
  WM_HIDELUNAR = WM_USER + 1;
  WM_OPENFILEOVER = WM_USER + 2;
  WM_OPENFILEBEGIN = WM_USER + 3;
  WM_TIMERALPHA = WM_USER + 5;
  WM_CHGFACE = WM_USER + 6;
  WM_CHGDIGIT = WM_USER + 7;
  WM_OPENFILENEXT = WM_USER + 8;

Type
  TMenuOption = (moAutoCheck, moChecked, moDefault, moEnabled, moRadioItem);
  TMenuOptions = Set Of TMenuOption;

  TWallStyle = (wsCenter, wsTile, wsStretch);
  TMacHeader = Class;

  TMacBaseButton = Class(TCustomControl)
  Private
    FResID, aWidth: Integer;
    bmpIn: TBitmap;
    bMouseIn: Boolean;
    Procedure MouseEnter(Var Msg: TMessage); Message CM_MOUSEENTER;
    Procedure MouseLeave(Var Msg: TMessage); Message CM_MOUSELEAVE;
  Protected
    Procedure SetResID(Value: Integer); Virtual;
  Public
    Constructor Create(AOwner: TComponent); Override;
    Destructor Destroy; Override;
    Property ResID: Integer Read FResID Write SetResID;
  Published
    Property OnClick;
  End;

  TSmoothFont = Class(TFont)
  Private
    BigBmp, tmpBmp: TBitmap;
  Public
    Procedure Draw(AX, AY: Integer; Canvas: TCanvas; Const Text: String);
    Constructor CreateNew; Virtual;
    Destructor Destroy; Override;
    Function TextSize(Const Text: String): TSize;
  End;

  TMacTwoButton = Class(TMacBaseButton)
  Private
    bmpOut: TBitmap;

  Protected
    Procedure Paint; Override;
    Procedure SetResID(Value: Integer); Override;
  Public
    Constructor Create(AOwner: TComponent); Override;
    Destructor Destroy; Override;
  Published
  End;

  TMacPanel = Class(TCustomPanel)
  Private
    Bitmap: TBitmap;
    FNoBorder: Boolean;
    Procedure SetNoBorder(Value: Boolean);
  Protected
    Procedure Paint; Override;
    Procedure Resize; Override;
  Public
    Constructor Create(AOwner: TComponent); Override;
    Destructor Destroy; Override;
  Published
    Property Align;
    Property Caption;
    Property Color;
    Property Visible;
    Property OnMouseDown;
    Property OnMouseMove;
    Property OnMouseUp;
    Property NoBorder: Boolean Read FNoBorder Write SetNoBorder;
  End;

  TMacButton = Class(TMacTwoButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacCheckButton = Class(TMacTwoButton)
  Private
    FChecked: Boolean;
    Procedure MouseEnter(Var Msg: TMessage); Message CM_MOUSEENTER;
    Procedure MouseLeave(Var Msg: TMessage); Message CM_MOUSELEAVE;
    Procedure SetChecked(Value: Boolean);
  Protected
  Public
    Procedure Click; Override;
    Constructor Create(AOwner: TComponent); Override;
    Property Checked: Boolean Read FChecked Write SetChecked;
  End;

  TMacCloseButton = Class(TMacTwoButton)
  Protected
    Procedure Click; Override;
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacMinButton = Class(TMacTwoButton)
  Protected
    Procedure Click; Override;
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacSmallButton = Class(TMacTwoButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacBody = Class(TMacPanel)
  Protected
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacLeftButton = Class(TMacTwoButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacRightButton = Class(TMacTwoButton)
  Protected
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacHeader = Class(TCustomPanel)
  Private
    Bitmap: TBitmap;
    MacMin: TMacMinButton;
    MacClose: TMacCloseButton;
    FOnCloseClick: TNotifyEvent;

  Protected
    Procedure NCHITTEST(Var Message: TMessage); Message WM_NCHITTEST;
    Procedure Resize; Override;
    Procedure Paint; Override;
    Procedure CloseClick(Sender: TObject);
  Public
    Constructor Create(AOwner: TComponent); Override;
    Destructor Destroy; Override;
  Published
    Property Caption;
    Property Font;
    Property OnCloseClick: TNotifyEvent Read FOnCloseClick Write FOnCloseClick;
  End;

  TCanvasPanel = Class(TPanel)
  Public
    Property Canvas;
  End;

  TMacOneButton = Class(TMacBaseButton)
  Protected
    Procedure SetResID(Value: Integer); Override;
    Procedure Paint; Override;
  End;

  TMacNextYear = Class(TMacOneButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacNextMonth = Class(TMacOneButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacCurrent = Class(TMacOneButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacPrevYear = Class(TMacOneButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacPrevMonth = Class(TMacOneButton)
  Public
    Constructor Create(AOwner: TComponent); Override;
  End;

  TMacSpinEdit = Class(TSpinEdit)
  Published
    Property BevelEdges;
    Property BevelInner;
    Property BevelKind Default bkNone;
    Property BevelOuter;
    Property BorderStyle;
  End;

Procedure Register;

Function NewMenuItem(Const ACaption: String; AOnClick: TNotifyEvent = Nil; MO:
  TMenuOptions = [moEnabled]; ATag: integer = 0): TMenuItem; overload;

Procedure SaveState(aCtrl: TControl);

Procedure RestoreState(aCtrl: TControl);

Procedure RegWrite(Path, Name, Value: String); overload;

Procedure RegWrite(Path, Name: String; Value: integer); overload;

Function RegRead(Path, Name: String): String;

Procedure ColorToRGB(color: TColor; Var r, g, b: Integer);

Function getAlpha(per: byte): Byte;

Procedure SetAutoRun(f: boolean = true);

Procedure RegRemoveValue(Path, Name: String);

Procedure ChgWallPaper(Name: String; ws: TWallStyle = wsStretch);

Function ReadBackground: TColor;

Procedure CheckfrmMain;

Var
  AppReg: TRegistry;
  AppInf: TIniFile;
  AppName, AppPath, WinPath: String;

Const
  sClockStyles = 'ClockStyles';
  sClockFace = 'ClockFace';
  sClockDigit = 'ClockDigit';
  sOption = 'Option';
  sDesktop = 'Desktop';
Implementation
{$R form.RES}
Uses Main;

Const
  RegPath = '\SOFTWARE\Lunar\';

Procedure ColorToRGB(color: TColor; Var r, g, b: Integer);
Begin
  r := Byte(color);
  g := Byte(color Shr 8);
  b := Byte(color Shr 16);
End;

Function NewMenuItem(Const ACaption: String; AOnClick: TNotifyEvent = Nil; MO:
  TMenuOptions = [moEnabled]; ATag: integer = 0): TMenuItem;
Begin
  Result := TMenuItem.Create(Nil);
  With Result Do
  Begin
    Caption := ACaption;
    OnClick := AOnClick;

    RadioItem := moRadioItem In Mo;
    Checked := moChecked In Mo;
    AutoCheck := moAutoCheck In Mo;
    Enabled := moEnabled In mo;
    default := modefault In mo;

    Tag := atag;
  End;
End;

Procedure Register;
Begin
  RegisterComponents('Custom', [TMacHeader, TMacCloseButton, TMacMinButton,
    TMacPanel, TMacSmallButton, TMacCheckButton, TMacBody,
      TMacRightButton, TMacLeftButton, TMacSpinEdit,
      TMacNextYear, TMacNextMonth, TMacCurrent, TMacPrevYear,
      TMacPrevMonth]);
End;

Procedure SaveState(aCtrl: TControl);
Var
  s: String;
Begin
  With AppInf, aCtrl Do
  Begin
    s := Name + '.';
    WriteInteger(ClassName, s + 'Left', Left);
    WriteInteger(ClassName, s + 'Top', Top);
  End;
End;

Procedure RestoreState(aCtrl: TControl);
Var
  s: String;
  v: Integer;
Begin
  With AppInf, aCtrl Do
  Begin
    s := Name + '.';

    v := ReadInteger(ClassName, s + 'Left', 0);
    If v <> 0 Then
      Left := v;

    v := ReadInteger(ClassName, s + 'Top', 0);
    If v <> 0 Then
      Top := v;
  End;
End;

Procedure RegWrite(Path, Name, Value: String);
Begin
  If AppReg.OpenKey(Path, True) Then
  Begin
    AppReg.WriteString(Name, Value);
    AppReg.CloseKey;
  End;
End;

Procedure RegWrite(Path, Name: String; Value: integer);
Begin
  RegWrite(Path, Name, IntToStr(Value));
End;

Function RegRead(Path, Name: String): String;
Begin
  If AppReg.OpenKey(Path, True) Then
  Begin
    Result := AppReg.ReadString(Name);
    AppReg.CloseKey;
  End;
End;

Function getAlpha(per: byte): Byte;
Begin
  Result := lo(trunc((per / 100) * 255));
End;

Procedure SetAutoRun(f: boolean = true);
Const
  s = '\Software\Microsoft\Windows\CurrentVersion\Run';
Begin
  If f Then
    RegWrite(s, ExtractFileName(AppName), '"' + ParamStr(0) + '"')
  Else
    RegRemoveValue(s, ExtractFileName(AppName));
End;

Procedure RegRemoveValue(Path, Name: String);
Begin
  If AppReg.OpenKey(Path, False) Then
  Begin
    AppReg.DeleteValue(Name);
    AppReg.CloseKey;
  End;
End;

Procedure ChgWallPaper(Name: String; ws: TWallStyle = wsStretch);
Const
  s1 = '\Control Panel\Desktop\';
  s2 = 'WallpaperStyle';
  s3 = 'TileWallpaper';
Begin
  AppReg.RootKey := HKEY_CURRENT_USER;

  Case ws Of
    wsStretch:
      Begin
        RegWrite(s1, s2, 2);
        RegWrite(s1, s3, 0);
      End;

    wsTile:
      Begin
        RegWrite(s1, s2, 0);
        RegWrite(s1, s3, 1);

      End;

    wsCenter:
      Begin
        RegWrite(s1, s2, 0);
        RegWrite(s1, s3, 0);

      End;
  End;

  SystemParametersInfo(SPI_SETDESKWALLPAPER, 1, PChar(Name),
    SPIF_UPDATEINIFILE);
  UpdateWindow(GetDesktopWindow);

  AppReg.RootKey := HKEY_LOCAL_MACHINE;
End;

Function ReadBackground: TColor;
Var
  s, s1: String;
  p: Integer;
  r, g, b: Byte;
Begin
  AppReg.RootKey := HKEY_CURRENT_USER;
  s := RegRead('\Control Panel\Colors\', 'Background');

  p := Pos(' ', s);
  If p > 0 Then
  Begin
    s1 := Copy(s, 1, p - 1);
    Delete(s, 1, p);
  End;
  r := Lo(strtointdef(s1, 255));

  p := Pos(' ', s);
  If p > 0 Then
  Begin
    s1 := Copy(s, 1, p - 1);
    Delete(s, 1, p);
  End;
  g := Lo(strtointdef(s1, 255));
  b := Lo(strtointdef(s, 255));

  Result := RGB(r, g, b);

  AppReg.RootKey := HKEY_LOCAL_MACHINE;
End;

Procedure CheckfrmMain;
Begin
  If frmMain = Nil Then
    Application.CreateForm(TfrmMain, frmMain);
End;

Procedure TMacPanel.Paint;
Var
  p: Integer;
Var
  w, h: Integer;
Begin
  p := 0;
  While p < Height Do
  Begin
    Canvas.StretchDraw(Rect(0, p, Width, Bitmap.Height + p), Bitmap);
    Inc(p, Bitmap.Height);
  End;

  If FNoBorder Then
    exit;

  With Canvas Do
  Begin
    Pen.Color := $808080;
    MoveTo(0, 0);
    LineTo(0, Height - 1);
    LineTo(Width - 1, Height - 1);

    LineTo(Width - 1, 0);
  End;
  With Canvas Do
  Begin
    w := (Width - TextWidth(Caption)) Div 2;
    h := (Height - TextHeight(Caption)) Div 2;

    Brush.Style := bsClear;
    TextOut(w, h, Caption);
  End;
End;

Constructor TMacPanel.Create(AOwner: TComponent);
Begin
  Inherited;
  FNoBorder := false;
  Bitmap := TBitmap.Create;
  Bitmap.LoadFromResourceID(hInstance, 2001);
  BorderStyle := bsNone;
End;

Destructor TMacPanel.Destroy;
Begin
  Bitmap.Free;
  Inherited;
End;

Procedure TMacPanel.Resize;
Var
  i: Integer;
  ct: TControl;
Begin
  Inherited;
  For i := 0 To ControlCount - 1 Do
  Begin
    ct := Controls[i];
    If ct.ClassNameIs('TMacLeftButton') Then
      ct.Left := 1;
    If ct.ClassNameIs('TMacRightButton') Then
      ct.Left := Width - ct.Width - 1;
  End;
End;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一级做a爱片久久| 欧美亚洲一区二区三区四区| 亚洲日本一区二区三区| 亚洲a一区二区| 93久久精品日日躁夜夜躁欧美| 欧美一区二区久久| 夜夜精品浪潮av一区二区三区| 国产一区二区在线看| 欧美人xxxx| 一区二区三区日本| 99久久综合色| 亚洲美女少妇撒尿| 在线观看日韩毛片| 亚洲国产精品麻豆| 欧洲国产伦久久久久久久| 亚洲欧美激情一区二区| 国产成人综合视频| 欧美高清在线精品一区| 99久久99久久综合| 欧美一级高清片| 婷婷丁香激情综合| 久久久亚洲精品一区二区三区| 91精品国产入口| 在线成人av网站| 一区二区三区中文字幕| 国产精品无码永久免费888| 欧美一区二区三区系列电影| 精品污污网站免费看| 欧美精品视频www在线观看| 99久久伊人网影院| 国产乱码字幕精品高清av| 亚洲乱码国产乱码精品精98午夜| 欧美日韩情趣电影| 国产综合久久久久影院| 国产精品福利一区| 日韩西西人体444www| 久久精品国产亚洲a| 国产视频在线观看一区二区三区 | 丰满少妇久久久久久久| 国产精品不卡一区二区三区| 欧美日韩国产bt| 成人免费精品视频| 亚洲高清不卡在线观看| 一卡二卡三卡日韩欧美| 亚洲欧洲av在线| 色综合久久久久久久久久久| 成人午夜电影久久影院| 国产成人精品免费网站| 国产91综合一区在线观看| 韩国av一区二区三区在线观看| 美女一区二区三区在线观看| 美女任你摸久久| 免费三级欧美电影| 伦理电影国产精品| 激情综合网av| 丁香婷婷综合激情五月色| 不卡av在线免费观看| 91搞黄在线观看| 欧美久久一区二区| 91精品国产91久久久久久最新毛片 | 国产日韩欧美亚洲| 中文字幕乱码亚洲精品一区| 亚洲欧洲av在线| 午夜天堂影视香蕉久久| 激情偷乱视频一区二区三区| 成人午夜视频福利| 在线观看日韩精品| 欧美成人精品高清在线播放| 欧美激情中文字幕一区二区| 亚洲综合在线免费观看| 蜜桃视频在线观看一区二区| 成人免费看视频| 欧美日韩精品一区二区三区四区| 精品毛片乱码1区2区3区| 国产精品久久久久永久免费观看 | 99在线精品一区二区三区| 91老师片黄在线观看| 555夜色666亚洲国产免| 久久久久久综合| 亚洲一区二区免费视频| 国产精品小仙女| 欧美日韩一区二区三区四区 | 麻豆精品国产传媒mv男同 | 欧美三级乱人伦电影| 久久久蜜臀国产一区二区| 亚洲欧美日韩国产手机在线| 久久不见久久见免费视频1| 91亚洲男人天堂| 精品国产乱码久久久久久浪潮 | 亚洲成人三级小说| 国产传媒一区在线| 欧美日韩国产在线观看| 国产精品毛片大码女人| 美女视频一区二区| 91久久精品一区二区| 精品成人一区二区| 亚洲国产精品一区二区久久| 不卡一二三区首页| 亚洲精品在线观| 日日夜夜免费精品| 色偷偷成人一区二区三区91| 久久久精品欧美丰满| 日av在线不卡| 欧美午夜影院一区| 亚洲国产成人在线| 九九视频精品免费| 69堂成人精品免费视频| 一区二区三区日韩在线观看| 国产suv精品一区二区6| 日韩欧美一级在线播放| 亚洲国产一区二区在线播放| 不卡的电视剧免费网站有什么| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区三区不卡视频在线观看| 成人黄色av电影| 国产日韩欧美高清在线| 久久成人麻豆午夜电影| 日韩一级免费一区| 天堂一区二区在线免费观看| 欧美色综合天天久久综合精品| 日本欧美一区二区在线观看| 欧美sm极限捆绑bd| 久久99在线观看| 欧美国产一区二区在线观看| 极品少妇xxxx偷拍精品少妇| 国产精品麻豆视频| 欧美猛男男办公室激情| 国产精品欧美极品| 日韩成人免费看| 色诱亚洲精品久久久久久| 欧美精品自拍偷拍动漫精品| 欧美日韩一区高清| 国产一区二区日韩精品| 国产精品短视频| 91久久精品一区二区| 国产69精品久久久久777| 91免费观看视频| 日本高清无吗v一区| 国产成人av一区二区三区在线 | 色综合视频一区二区三区高清| 日韩三级中文字幕| 99这里只有久久精品视频| 久久99精品网久久| 亚洲国产美国国产综合一区二区| 日韩一区二区不卡| 99视频精品免费视频| 五月天久久比比资源色| 亚洲日本乱码在线观看| 欧美巨大另类极品videosbest| 激情都市一区二区| 亚洲人午夜精品天堂一二香蕉| 欧美一二三区在线| 日本韩国欧美国产| 一本色道久久综合狠狠躁的推荐| 日本最新不卡在线| 一区二区三区四区激情| 国产欧美一区二区在线观看| 精品视频色一区| 一本色道久久综合亚洲精品按摩| jizz一区二区| 久国产精品韩国三级视频| 香蕉久久一区二区不卡无毒影院| 91精品一区二区三区在线观看| 国产成人丝袜美腿| 成人免费观看男女羞羞视频| 国产伦精品一区二区三区视频青涩 | 91电影在线观看| 国产自产视频一区二区三区| 一区二区三区日韩欧美| 欧美日韩二区三区| 美女高潮久久久| 亚洲国产成人在线| 97se亚洲国产综合自在线| 午夜一区二区三区在线观看| 日韩一区二区免费视频| 国产剧情一区二区三区| 亚洲激情第一区| 精品国产一区二区三区久久影院| 成人黄色a**站在线观看| 五月天亚洲精品| 国产欧美一区二区精品忘忧草| 在线免费观看不卡av| 国产麻豆视频一区二区| 亚洲黄一区二区三区| 欧美精品一区二区三区蜜桃| jvid福利写真一区二区三区| 日韩avvvv在线播放| 亚洲欧洲日本在线| 欧美变态凌虐bdsm| 欧洲亚洲精品在线| 懂色av一区二区三区蜜臀| 亚洲国产综合色| 亚洲国产高清aⅴ视频| 91精品国产手机| 99精品黄色片免费大全| 极品瑜伽女神91| 亚洲国产欧美另类丝袜| 国产精品久久久久久久久免费桃花| 欧美一区三区二区| 色偷偷成人一区二区三区91|