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

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

?? winsubclass.pas

?? delphi控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號(hào):
unit WinSubClass;

{$I Compilers.inc}

{.$define combobox}
{.$define buttontest}
{.$define resiztest}
{.$define scrollbartest}
{.$define combox}

{$WARNINGS OFF}
{$HINTS OFF}
{$RANGECHECKS OFF}

{$define progress}

interface

uses
  Windows, SysUtils, Classes, Graphics, Controls, ComCtrls,  Forms,
  Menus, Messages, ExtCtrls, StdCtrls, Buttons, CommCtrl,imglist,
  winskindata,tabs,TypInfo,Dialogs,Grids;

const
   CM_Scroll1= 161;
   CM_Scroll2= 513;
   CM_Scroll3= 162;
   CM_Scroll4= 514;
   C_Paramv = 7;
   C_Paramh = 6;
   c_paramB = 1;
   SBM_GETSCROLLBARINFO = 235;

type
  TSkinControlState = ( scMouseIn,scDown);
  TAcControl = class(TControl);
  TAcWinControl = class(TWinControl);
  TAcGraphicControl = class(TGraphicControl);
  TSkinAcListView = class(TCustomListView);
  TSkinScrollbar = class;

  TSkinControl = class(TComponent)
  Protected
     state : set of TSkinControlState;
     fCanvas : TCanvas;
     done:boolean;
     isdraw : boolean;
     enabled : boolean;
     focused : boolean;
     caption : wideString;
     FObjectInst,FPrevWndProc :pointer;
     skinned:boolean;
     isunicode:boolean;
     procedure FillBG( dc:HDC; rc:TRect);
     procedure FillParentBG( dc:HDC; rc:TRect);
     procedure doLogMsg(aid:string;msg:TMessage);
     procedure Default(Var Msg: TMessage);
     procedure Invalidate;
     procedure WMPaint(message:TMessage);
     procedure WMERASEBKGND(var Msg: TMessage);
     function GetWindowLongEx(ahWnd: HWND; nIndex: Integer): Longint;
     procedure SetParentBK(value:boolean);
     procedure DrawFocus(hDC: HDC; wString: WideString; rc: TRect; uFormat: UINT);
//     procedure Notification(AComponent: TComponent;Operation: TOperation);override;
  public
     fsd: TSkinData;
     hwnd : HWND;
     OldWndProc: TWndMethod;
     control:Twincontrol;
     boundsrect:Trect;
     GControl : TGraphicControl;
     newColor:boolean;
     oldcolor:Tcolor;
     Inited:boolean;
     skinstate : integer;
     skinform: Tcomponent;
     kind :integer;
     sizing:boolean;
     parentbk:boolean;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);virtual;
     Procedure Inithwnd(ahwnd:Thandle;sd:TSkinData;acanvas:TCanvas;sf:Tcomponent);virtual;
     procedure MouseLeave;
     Procedure Unsubclass; virtual;
     procedure NewWndProc(var Message: TMessage);
     function BeforeProc(var Message: TMessage):boolean;virtual;
     procedure AfterProc(var Message: TMessage);virtual;
     procedure PaintControl(adc:HDC=0);virtual;
     procedure DrawControl( dc:HDC; rc:TRect);Virtual;
     Procedure SkinChange; Virtual;
     function  GetState:integer;Virtual;
     Procedure SetColor;
     Procedure RestoreColor;
     procedure DrawBMPSkin( abmp:Tbitmap;rc:TRect;aObject:TdataSkinObject;
              I,N:integer;trans:integer);
     procedure DrawSkinMap( dc:HDC; rc:TRect;
        aObject:TdataSkinObject;I,N:integer);
     procedure DrawSkinMap1( dc:HDC; rc:TRect;
       bmp:Tbitmap;I,N:integer);
     procedure DrawSkinMap2( dc:HDC; rc:TRect;
       bmp:Tbitmap;I,N:integer);
     procedure DrawSkin( rc:TRect;aObject:TdataSkinObject;
                   I,N:integer;trans:integer);
     procedure DrawSkinMap3( acanvas:Tcanvas; rc:TRect;
        bmp:Tbitmap;I,N:integer);
     procedure DrawBuf( dc:HDC; rc:TRect);
     procedure DrawCaption(acanvas: TCanvas; rc:TRect;text:widestring;
             enabled,defaulted:boolean;Alignment:word=DT_CENTER);
     procedure DrawImgCaption(acanvas: TCanvas; rc:TRect;
           ImgList:hImageList;imgIndex:integer;text:widestring;talign:integer=DT_CENTER);
     function TextHeight(dc:HDC;const s: string):integer;
     function GetParentColor(acolor:Tcolor):Tcolor;
     function CheckBiDi(dw:dword):dword;
  end;

  TArrowButton = Class(TCustomControl)
  private
    procedure WMLButtonDown(Var aMsg: TMessage);message WM_LButtonDown;
    procedure WMLButtonUP(Var aMsg: TMessage);message WM_LButtonUP;
//    procedure WMERASEBKGND(var Msg: TMessage);message WM_ERASEBKGND;
    procedure CMMouseEnter(Var aMsg: TMessage);message CM_MOUSEENTER;
    procedure CMMouseLeave(Var aMsg: TMessage);message CM_MOUSELEAVE;
  protected
    procedure Paint; override;
  public
    cw:integer;
    control:TWincontrol;
    obj:TSkinControl;
    hwnd :Thandle;
    state : set of TSkinControlState;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Attach(aobj:Tskincontrol;acontrol:Twincontrol);
    procedure MoveArrow( r:TRect);
  end;

  TSkinDateTime = Class(TSkinControl)
  private
  protected
     arrow:TArrowButton;
     procedure AfterProc(var Message: TMessage);override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  public
     destructor Destroy; override;
     procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
  end;

  TWScrollbar = Class(TCustompanel)
  private
    procedure WMLButtonDown(Var aMsg: TMessage);message WM_LButtonDown;
    procedure WMMouseMove(Var aMsg: TMessage);message WM_MouseMove;
    procedure WMMouseLeave(Var aMsg: TMessage);message WM_MouseLeave;
    procedure WMLButtonDBClick(Var aMsg: TMessage);message WM_LBUTTONDBLCLK;
    procedure WMLButtonUp(Var aMsg: TMessage);message WM_LButtonUp;
    procedure WMERASEBKGND(var Msg: TMessage);message WM_ERASEBKGND;
  protected
    Len:Integer;
    thumbTop,thumbbottom:integer;
    OffsetSC,trackp:tpoint;
    trackthumb:integer;
    fdown:boolean;
    sbDir:integer;
    ERASEBKGND:boolean;
    scrollpos:integer;
    procedure Paint; override;
    procedure GetThumb(rc:TRect);
    function GetScrollPos(p:Tpoint):integer;
    function GetControlInfo(var info:tagScrollBarInfo):boolean;
    function GetControlInfo2(var info:tagScrollBarInfo):boolean;
    procedure CreateParams(var Params: TCreateParams);override;
  public
    CW:integer;
    hwnd:Thandle;
    control:TWincontrol;
    obj:TSkinControl;
    sbType:byte;
    sbRect:Trect;
//    scrollpos:integer;
    sbVisible:boolean;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Attach(aobj:TSkinControl;aControl:Twincontrol;aType:byte);
    procedure AttachHwnd(aobj:TSkinControl;ahwnd:Thandle;aType:byte);
    procedure SetPosition(ahwnd:Thandle);
    procedure ButtonUp;
    procedure HideScrollbar;
    procedure DoLog(Message: TMessage);
  end;

  TSkinButton = class(TSkinControl)
  Protected
     btemp:Tbitmap;
     MultiLine:boolean;
     trans:boolean;
     redraw:boolean;
     isdefault:boolean;
     procedure DrawBtnText(acanvas: TCanvas; rc:TRect;
               text:String; Alignment:word=DT_CENTER);
     procedure DoMouseDown(var Message: TWMMouse);
     procedure WMEnable(var Message: TMessage);
     procedure SetRedraw(b:boolean);
     function GetFontColor(var acolor:Tcolor):boolean;
  public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure AfterProc(var Message: TMessage);override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinBitButton = class(TSkinButton)
  Protected
     procedure DrawGlyph( acanvas:Tcanvas; rc:TRect;
       bmp:Tbitmap;I,N:integer);
     procedure DrawPicControl( dc:HDC; rc:TRect);
  public
     isPicture:boolean;
     PicField:string;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TMPBtnType = (btPlay, btPause, btStop, btNext, btPrev, btStep, btBack,
    btRecord, btEject);
  TButtonSet = set of TMPBtnType;
  TMPGlyph = (mgEnabled, mgDisabled, mgColored);
  TMPButton = record
    Visible: Boolean;
    Enabled: Boolean;
    Colored: Boolean;
    Auto: Boolean;
    Bitmaps: array[TMPGlyph] of TBitmap;
  end;

  TWMediaPlayer = Class(TCustompanel)
  private
    procedure WMLButtonDown(Var aMsg: TMessage);message WM_LButtonDown;
//    procedure WMMouseMove(Var aMsg: TMessage);message WM_MouseMove;
//    procedure WMMouseLeave(Var aMsg: TMessage);message WM_MouseLeave;
//    procedure WMLButtonDBClick(Var aMsg: TMessage);message WM_LBUTTONDBLCLK;
    procedure WMLButtonUp(Var aMsg: TMessage);message WM_LButtonUp;
//    procedure WMERASEBKGND(var Msg: TMessage);message WM_ERASEBKGND;
     procedure LoadBitmaps;
     procedure DestroyBitmaps;
     procedure CheckButtons;
     procedure FindButton(XPos, YPos: Integer);
  protected
     Buttons: array[TMPBtnType] of TMPButton;
     count:integer;
     fsd:TSkinData;
     IsDown:boolean;
     BtnClick: TMPBtnType;
     BtnFocuse: TMPBtnType;
     BtnWidth: integer;
     procedure Paint;override;
     procedure DrawButton(acanvas:Tcanvas;Btn:TMPBtnType;R:TRect);
  public
     obj:TWincontrol;
     skincontrol:TSkincontrol;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     procedure Attach(askin:TSkinControl;aObj:Twincontrol);
     procedure SetPosition(aObj:Twincontrol);
  end;

  TSkinMP = class(TSkinControl)
  Protected
     mp:TWMediaPlayer;
//     Buttons: array[TMPBtnType] of TMPButton;
//     procedure LoadBitmaps;
//     procedure DestroyBitmaps;
//     procedure DrawGlyph( acanvas:Tcanvas; rc:TRect;
//       bmp:Tbitmap;I,N:integer);
    procedure Unsubclass;override;
    procedure AfterProc(var Message: TMessage);override;
  public
//     constructor Create(AOwner: TComponent); override;
//     destructor Destroy; override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
//     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinMenuButton = class(TSkinButton)
  Protected
//     procedure DrawGlyph( acanvas:Tcanvas; rc:TRect;
//       bmp:Tbitmap;I,N:integer);
  public
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinSpeedButton = class(TSkinBitButton)
  protected
     FReentr : Boolean;  // RF: flag for reentrancy
     procedure DrawPicbtn( acanvas:Tcanvas; rc:TRect);
  public
//     GControl : TGraphicControl;
     PicField:string;
     gcanvas:Tcanvas;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     procedure DrawSpeedbtn( acanvas:Tcanvas; rc:TRect);
     procedure InitGraphicControl(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas);
     procedure AfterProc(var Message: TMessage);override;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure PaintControl(adc:HDC=0);override;
     procedure WMPaintSpeed(var Message:Tmessage);
  end;

  TSkinCheckBox = class(TSkinControl)
  Protected
     state:integer;
     trans:boolean;
  public
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure AfterProc(var Message: TMessage);override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
  end;

  TComboxScrollBar=class;
  TSkinScrollbarH=class;
  TSkinComBox = class(TSkinControl)
  Protected
     dwStyle,ExStyle:longword;
     hlist,hbtn:Thandle;
     isDrop:boolean;
//     box :Tskinscrollbar;
     FBtnObjectInst,FBtnPrevWndProc :pointer;
     vb:TSkinScrollbarH;
     db:TComboxScrollBar;
     info:tagCOMBOBOXINFO;
     rBtn:TRect;
     procedure FindBtn;
     procedure DrawSkinMap3( dc:HDC; rc:TRect;
        bmp:Tbitmap;I,N:integer);
     procedure DrawControl1( dc:HDC; rc:TRect);
     procedure ButtonProc(var Message: TMessage);
     procedure CNCommand(var Message: TWMCommand);
//     procedure FindScrollbar;
     procedure Unsubclass;override;
     procedure DrawEdit( dc:HDC; rc:TRect);
     procedure SkinDropList;
     procedure DeleteDropList;
     procedure DrawBorder( dc:HDC; rc:TRect);
     procedure DrawArrow( dc:HDC; rc:TRect;i:integer);
  public
     HasButton:boolean;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     procedure AfterProc(var Message: TMessage);override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
     Procedure Inithwnd(ahwnd:Thandle;sd:TSkinData;acanvas:TCanvas;sf:Tcomponent);override;
  end;

  TSkinRadioButton = class(TSkinControl)
  Protected
     trans:boolean;
  public
     procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
     procedure AfterProc(var Message: TMessage);override;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinStatusBar = class(TSkinControl)
  Protected
     procedure Defaultpaint(acanvas:Tcanvas; rc:TRect;I:integer;
             text:widestring='';Align:TAlignment=taLeftJustify);
     procedure drawitem(dc:HDC; rc:TRect;I:integer;
             text:widestring='';Align:TAlignment=taLeftJustify);
  public
     SizeGrip:boolean;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinBox = class(TSkinControl)
  Protected
  public
     border:integer;
     procedure AfterProc(var Message: TMessage);override;
     Procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
     Procedure Unsubclass; override;
  end;

  TSkinGroupBox = class(TSkinControl)
  Protected
     procedure DefaultDraw( dc:HDC; rc:TRect);
  public
     border:integer;
     procedure Init(sf:Tcomponent;sd:TSkinData;acanvas:TCanvas;acolor:boolean=false);override;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;

  TSkinUpDown = class(TSkinControl)
  Protected
     procedure DrawButton(acanvas:Tcanvas;rc:TRect;n,ar:integer);
     procedure DrawSkinButton(dc:HDC;rc:TRect;n,ar:integer);
     procedure DrawBackGround(msg:Tmessage);
  public
     inedit : boolean;
     dir : integer;
     function BeforeProc(var Message: TMessage):boolean;override;
     procedure DrawControl( dc:HDC; rc:TRect);override;
  end;


  TSkinTabPosition = (StTop,Stbottom,Stleft,Stright);
  TSkinTab = class(TSkinControl)
  Protected
     CloseRect: array of TRect;
     Position:TSkinTabPosition;
     unicode:boolean;
     procedure Drawitem( dc:HDC; rc:TRect;I:integer);
     procedure ERASEBKGND( dc:HDC);
     procedure GetPosition;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级视频免费观看在线| 精品久久99ma| 免费高清在线视频一区·| 久久久天堂av| 717成人午夜免费福利电影| 国产福利精品一区二区| 亚洲chinese男男1069| 国产精品久久久久三级| 欧美xxxxxxxxx| 欧美日韩国产片| av中文字幕不卡| 激情av综合网| 日产国产高清一区二区三区 | 国产精品麻豆99久久久久久| 91精品国产aⅴ一区二区| 91美女视频网站| 成人一道本在线| 久久不见久久见免费视频7| 亚洲一区日韩精品中文字幕| 国产精品视频一二| 久久精品国产网站| 亚洲国产精品人人做人人爽| 欧美韩国一区二区| 精品粉嫩超白一线天av| 欧美一区二区久久| 欧美日韩免费一区二区三区视频 | 色综合天天做天天爱| 国产福利一区在线| 国产在线精品一区在线观看麻豆| 亚洲午夜激情av| 亚洲激情成人在线| 中文字幕中文字幕一区二区 | 91精品国产aⅴ一区二区| 91福利精品第一导航| 色老汉一区二区三区| 波多野结衣一区二区三区| 国产成人亚洲综合a∨婷婷图片| 久久精品国产久精国产| 精品一区二区三区视频在线观看| 青青草原综合久久大伊人精品优势| 亚洲国产aⅴ成人精品无吗| 夜夜嗨av一区二区三区| 99re视频精品| 国产成人精品在线看| 国产高清久久久| 国产在线播精品第三| 国内精品伊人久久久久av一坑| 捆绑调教美女网站视频一区| 精久久久久久久久久久| 精东粉嫩av免费一区二区三区| 麻豆传媒一区二区三区| 久久99精品久久久久久动态图| 免费成人在线视频观看| 精品一区二区av| 久久 天天综合| 国产一区二区在线影院| 高清久久久久久| av电影在线观看不卡| 日韩欧美色电影| 精品少妇一区二区三区免费观看 | 国产最新精品精品你懂的| 视频一区在线播放| 国产精品妹子av| 久久久久久久久伊人| 在线一区二区视频| 欧美日韩在线电影| 国产日产欧美精品一区二区三区| 五月婷婷激情综合网| 成人v精品蜜桃久久一区| 337p亚洲精品色噜噜噜| 日韩伦理电影网| 蜜桃av一区二区| 欧美亚洲综合另类| 亚洲欧洲一区二区在线播放| 久久国产精品色| 欧美日韩国产另类一区| 1024成人网| 国产激情视频一区二区在线观看| 欧美日韩久久一区二区| ●精品国产综合乱码久久久久| 国产美女精品在线| 9191国产精品| 一区二区三区免费观看| 成人综合日日夜夜| 精品国产123| 美国一区二区三区在线播放| 欧美性一区二区| 日韩美女视频19| 国产亚洲精品7777| 奇米精品一区二区三区在线观看一| 99re在线视频这里只有精品| 国产蜜臀97一区二区三区| 韩国欧美国产一区| 日韩一区二区免费在线电影| 亚洲成人在线观看视频| 欧美亚洲另类激情小说| 一区二区三区不卡在线观看 | 亚洲一区二区三区在线看 | 欧美mv和日韩mv的网站| 日韩精品一卡二卡三卡四卡无卡| 欧美视频三区在线播放| 亚洲精品中文字幕在线观看| 99re热这里只有精品免费视频| 国产精品美女一区二区三区| 国产成人综合视频| 久久久午夜精品理论片中文字幕| 久久99国产精品久久99果冻传媒 | 亚洲一区在线视频| 91久久线看在观草草青青| 亚洲日本免费电影| 成+人+亚洲+综合天堂| 中文字幕一区二区三区四区不卡| 成人做爰69片免费看网站| 国产精品久久毛片av大全日韩| 成人少妇影院yyyy| 国产精品欧美久久久久一区二区| eeuss鲁片一区二区三区| 国产精品久久久久久久久免费丝袜| 成人av影院在线| 亚洲精品久久久久久国产精华液| 91久久精品国产91性色tv| 一区二区三区av电影| 欧美日本乱大交xxxxx| 免费成人美女在线观看.| 久久久蜜臀国产一区二区| 成人高清免费在线播放| 一区二区三区小说| 91精选在线观看| 国产精品66部| 亚洲私人黄色宅男| 欧美日韩免费一区二区三区视频| 美女久久久精品| 国产色产综合产在线视频| 成人激情文学综合网| 亚洲最大的成人av| 欧美一级免费大片| 国产激情精品久久久第一区二区 | 欧美一区二区三区性视频| 久久se精品一区二区| 中文幕一区二区三区久久蜜桃| 91玉足脚交白嫩脚丫在线播放| 亚洲成人福利片| 精品福利一区二区三区| 91在线精品一区二区三区| 亚洲一区自拍偷拍| 久久这里都是精品| 91黄色免费版| 麻豆国产精品官网| 亚洲欧美日韩在线不卡| 欧美精品v国产精品v日韩精品| 国产精品一区二区免费不卡| 亚洲精品水蜜桃| 日韩欧美国产不卡| 色香蕉成人二区免费| 麻豆国产欧美日韩综合精品二区| 中文字幕在线观看不卡视频| 欧美精品一卡两卡| 成人深夜福利app| 免费看欧美美女黄的网站| 国产精品美女久久久久久久久久久 | 成人av片在线观看| 午夜成人免费电影| 中文字幕一区二区三区四区| 日韩三级在线观看| 色视频欧美一区二区三区| 激情深爱一区二区| 亚洲国产一区二区视频| 国产日产精品一区| 日韩亚洲国产中文字幕欧美| 91亚洲国产成人精品一区二三| 奇米精品一区二区三区在线观看 | 亚洲免费在线视频| 精品黑人一区二区三区久久| 欧美性xxxxxxxx| 成人激情开心网| 精彩视频一区二区| 日韩精品五月天| 亚洲午夜精品在线| 中文字幕一区二区三区精华液 | 欧美中文字幕一区二区三区亚洲 | 7777精品伊人久久久大香线蕉完整版 | 丝袜亚洲另类欧美| 国产精品久久夜| 久久综合99re88久久爱| 欧美老肥妇做.爰bbww| 91一区二区三区在线观看| 国产高清不卡一区二区| 麻豆freexxxx性91精品| 亚洲午夜日本在线观看| 亚洲天堂精品视频| 国产蜜臀97一区二区三区| 精品国精品自拍自在线| 日韩一区二区免费视频| 欧美日韩一级视频| 日本乱人伦一区| 91农村精品一区二区在线| 成人蜜臀av电影| 成人av在线影院| 成人永久免费视频| 成人小视频在线|