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

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

?? suiimagepanel.pas

?? 一套還不錯的DELPHI皮膚控件!
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
////////////////////////////////////////////////////////////////////////////////////
//
//
//  FileName    :   SUIImagePanel.pas
//  Creater     :   Shen Min
//  Date        :   2001-10-15
//  Comment     :
//
//  Copyright (c) 2002-2003 Sunisoft
//  http://www.sunisoft.com
//  Email: support@sunisoft.com
//
////////////////////////////////////////////////////////////////////////////////////


unit SUIImagePanel;

interface

{$I SUIPack.inc}

uses Windows, Extctrls, Graphics, Classes, Messages, Controls, SysUtils, Forms,
     SUIPublic, SUIThemes, SUIMgr;

type
    TsuiPanel = class(TCustomPanel)
    private
        m_BorderColor : TColor;
        m_UIStyle : TsuiUIStyle;
        m_FileTheme : TsuiFileTheme;
        m_TitleBitmap : TBitmap;
        m_ShowButton : Boolean;
        m_InButton : Boolean;
        m_Poped : Boolean;
        m_OnPush : TNotifyEvent;
        m_OnPop : TNotifyEvent;
        m_Height : Integer;
        m_Moving : Boolean;
        m_FromTheme : Boolean;
        m_CaptionFontColor : TColor;

        procedure WMERASEBKGND(var Msg : TMessage); message WM_ERASEBKGND;
        procedure SetBorderColor(const Value: TColor);
        procedure SetFileTheme(const Value: TsuiFileTheme);
        procedure SetUIStyle(const Value: TsuiUIStyle);
        procedure SetShowButton(const Value: Boolean);
        procedure SetHeight2(const Value: Integer);
        procedure SetCaptionFontColor(const Value: TColor);
        function GetPushed: Boolean;

    protected
        procedure Paint(); override;
        procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
        procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
        procedure AlignControls(AControl: TControl; var Rect: TRect); override;
        procedure Notification(AComponent: TComponent; Operation: TOperation); override;
        procedure Resize(); override;
        
    public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy(); override;

        procedure Pop();
        procedure Push();
        property Pushed : Boolean read GetPushed;

    published
        property FileTheme : TsuiFileTheme read m_FileTheme write SetFileTheme;
        property UIStyle : TsuiUIStyle read m_UIStyle write SetUIStyle;
        property BorderColor : TColor read m_BorderColor write SetBorderColor;
        property Font;
        property Caption;
        property ShowButton : Boolean read m_ShowButton write SetShowButton;
        property Height : Integer read m_Height write SetHeight2;
        property CaptionFontColor : TColor read m_CaptionFontColor write SetCaptionFontColor;

        property BiDiMode;
        property Anchors;
        property Align;
        property TabStop;
        property TabOrder;
        property Color;
        property Visible;
        property PopupMenu;

        property OnPush : TNotifyEvent read m_OnPush write m_OnPush;
        property OnPop : TNotifyEvent read m_OnPop write m_OnPop;

        property OnCanResize;
        property OnClick;
        property OnConstrainedResize;
        property OnDockDrop;
        property OnDockOver;
        property OnDblClick;
        property OnDragDrop;
        property OnDragOver;
        property OnEndDock;
        property OnEndDrag;
        property OnEnter;
        property OnExit;
        property OnGetSiteInfo;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnResize;
        property OnStartDock;
        property OnStartDrag;
        property OnUnDock;
    end;

    TsuiDrawStyle = (suiNormal, suiStretch, suiTile);

    TsuiCustomPanel = class(TCustomPanel)
    private
        m_Picture : TPicture;
        m_Transparent : Boolean;
        m_AutoSize : Boolean;
        m_CaptionPosX: Integer;
        m_CaptionPosY: Integer;
        m_DrawStyle : TsuiDrawStyle;

        m_LastDrawCaptionRect : TRect;

        procedure ApplyAutoSize();
        procedure ApplyTransparent();
        procedure SetPicture(const Value: TPicture);
        procedure SetAutoSize(const Value: Boolean); reintroduce;
        procedure SetCaptionPosX(const Value: Integer);
        procedure SetCaptionPosY(const Value: Integer);
        procedure SetDrawStyle(const Value: TsuiDrawStyle);
        procedure CMTEXTCHANGED(var Msg : TMessage); message CM_TEXTCHANGED;
        procedure WMERASEBKGND(var Msg : TMessage); message WM_ERASEBKGND;

    protected
        procedure Paint(); override;
        procedure ClearPanel(); virtual;
        procedure RepaintText(Rect : TRect); virtual;
        procedure PictureChanged(Sender: TObject); virtual;
        procedure SetTransparent(const Value: Boolean); virtual;
        procedure Resize(); override;

        property Picture : TPicture read m_Picture write SetPicture;
        property Transparent : Boolean Read m_Transparent Write SetTransparent default false;
        property AutoSize : Boolean Read m_AutoSize Write SetAutoSize;
        property CaptionPosX : Integer read m_CaptionPosX write SetCaptionPosX;
        property CaptionPosY : Integer read m_CaptionPosY write SetCaptionPosY;
        property DrawStyle : TsuiDrawStyle read m_DrawStyle write SetDrawStyle;

    public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy(); override;

    end;

    TsuiImagePanel = class(TsuiCustomPanel)
    published
        property BiDiMode;
        property BorderWidth;
        property Anchors;
        property Picture;
        property Transparent;
        property AutoSize;
        property Alignment;
        property Align;
        property Font;
        property TabStop;
        property TabOrder;
        property Caption;
        property Color;
        property DrawStyle;
        property Visible;
        property PopupMenu;
        
        property OnCanResize;
        property OnClick;
        property OnConstrainedResize;
        property OnDockDrop;
        property OnDockOver;
        property OnDblClick;
        property OnDragDrop;
        property OnDragOver;
        property OnEndDock;
        property OnEndDrag;
        property OnEnter;
        property OnExit;
        property OnGetSiteInfo;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnResize;
        property OnStartDock;
        property OnStartDrag;
        property OnUnDock;
    end;

implementation


{ TsuiCustomPanel }

procedure TsuiCustomPanel.ApplyAutoSize;
begin
    if m_AutoSize then
    begin
        if (
            (Align <> alTop) and
            (Align <> alBottom) and
            (Align <> alClient)
        ) then
            Width := m_Picture.Width;

        if (
            (Align <> alLeft) and
            (Align <> alRight) and
            (Align <> alClient)
        ) then
            Height := m_Picture.Height;
    end;
end;

procedure TsuiCustomPanel.ApplyTransparent;
begin
    if m_Picture.Graphic.Transparent <> m_Transparent then
        m_Picture.Graphic.Transparent := m_Transparent;
end;

procedure TsuiCustomPanel.ClearPanel;
begin
    Canvas.Brush.Color := Color;

    if ParentWindow <> 0 then
        Canvas.FillRect(ClientRect);
end;

procedure TsuiCustomPanel.CMTEXTCHANGED(var Msg: TMessage);
begin
    RepaintText(m_LastDrawCaptionRect);
    Repaint();
end;

constructor TsuiCustomPanel.Create(AOwner: TComponent);
begin
    inherited Create(AOwner);

    m_Picture := TPicture.Create();
    ASSERT(m_Picture <> nil);

    m_Picture.OnChange := PictureChanged;
    m_CaptionPosX := -1;
    m_CaptionPosY := -1;

    BevelInner := bvNone;
    BevelOuter := bvNone;

    Repaint();
end;

destructor TsuiCustomPanel.Destroy;
begin
    if m_Picture <> nil then
    begin
        m_Picture.Free();
        m_Picture := nil;
    end;

    inherited;
end;

procedure TsuiCustomPanel.Paint;
var
    uDrawTextFlag : Cardinal;
    Rect : TRect;
    Buf : TBitmap;
begin
    Buf := TBitmap.Create();
    Buf.Height := Height;
    Buf.Width := Width;

    if m_Transparent then
        DoTrans(Buf.Canvas, self);

    if Assigned(m_Picture.Graphic) then
    begin
        if m_DrawStyle = suiStretch then
            Buf.Canvas.StretchDraw(ClientRect, m_Picture.Graphic)
        else if m_DrawStyle = suiTile then
            TileDraw(Buf.Canvas, m_Picture, ClientRect)
        else
            Buf.Canvas.Draw(0, 0, m_Picture.Graphic);
    end
    else if not m_Transparent then
    begin
        Buf.Canvas.Brush.Color := Color;
        Buf.Canvas.FillRect(ClientRect);
    end;

    Buf.Canvas.Brush.Style := bsClear;

    if Trim(Caption) <> '' then
    begin
        Buf.Canvas.Font := Font;

        if (m_CaptionPosX <> -1) and (m_CaptionPosY <> -1) then
        begin
            Buf.Canvas.TextOut(m_CaptionPosX, m_CaptionPosY, Caption);
            m_LastDrawCaptionRect := Classes.Rect(
                m_CaptionPosX,
                m_CaptionPosY,
                m_CaptionPosX + Buf.Canvas.TextWidth(Caption),
                m_CaptionPosY + Buf.Canvas.TextWidth(Caption)
            );
        end
        else
        begin
            Rect := ClientRect;
            uDrawTextFlag := DT_CENTER;
            if Alignment = taRightJustify then
                uDrawTextFlag := DT_RIGHT
            else if Alignment = taLeftJustify then
                uDrawTextFlag := DT_LEFT;
            DrawText(Buf.Canvas.Handle, PChar(Caption), -1, Rect, uDrawTextFlag or DT_SINGLELINE or DT_VCENTER);
            m_LastDrawCaptionRect := Rect;
        end;
    end;

    BitBlt(Canvas.Handle, 0, 0, Width, Height, Buf.Canvas.Handle, 0, 0, SRCCOPY);    
    Buf.Free();
end;

procedure TsuiCustomPanel.PictureChanged(Sender: TObject);
begin
    if m_Picture.Graphic <> nil then
    begin
        if m_AutoSize then
            ApplyAutoSize();
        ApplyTransparent();
    end;

    ClearPanel();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码91久久久久久网站| 日本亚洲视频在线| 天天色天天操综合| 成人免费毛片高清视频| 欧美三级电影在线看| 日本一区二区三区免费乱视频| 亚洲成av人片一区二区梦乃| 成人永久aaa| 欧美mv日韩mv国产网站app| 亚洲精品高清在线| 成人免费不卡视频| 久久无码av三级| 天天色天天操综合| 欧美日韩电影在线| 亚洲精品老司机| 成人av一区二区三区| 国产欧美日韩在线| 国产在线精品免费av| 91精品中文字幕一区二区三区| 亚洲人成电影网站色mp4| 国精品**一区二区三区在线蜜桃| 日本韩国欧美在线| 亚洲免费av网站| 99久久精品国产网站| 国产免费成人在线视频| 国产一区欧美二区| 日韩美女在线视频| 国内一区二区在线| 2022国产精品视频| 国产乱码精品一区二区三区av| 日韩欧美黄色影院| 久久综合综合久久综合| 欧美一区二区三区性视频| 亚洲国产sm捆绑调教视频| 欧美日韩一区不卡| 免费一级欧美片在线观看| 91精品国产综合久久国产大片| 亚洲超碰精品一区二区| 欧美高清激情brazzers| 亚洲va国产va欧美va观看| 欧美性xxxxx极品少妇| 一区二区三区在线视频观看58| 91久久人澡人人添人人爽欧美| 亚洲美女屁股眼交| 欧美三级电影精品| 日韩综合小视频| 日韩午夜在线影院| 国产精品一区二区在线观看网站| 久久久久久99久久久精品网站| 国产成人一区二区精品非洲| 中文字幕高清不卡| 91国在线观看| 蜜桃av噜噜一区二区三区小说| 在线观看91av| 国产一区二区免费在线| 国产精品灌醉下药二区| 欧美专区在线观看一区| 欧美aaaaaa午夜精品| 国产日韩欧美精品综合| 在线观看日韩一区| 韩国成人精品a∨在线观看| 国产欧美日韩精品a在线观看| 91首页免费视频| 午夜精品福利一区二区蜜股av | 精油按摩中文字幕久久| 久久先锋影音av鲁色资源| 色综合一区二区| 蜜乳av一区二区三区| 欧美激情综合五月色丁香小说| 欧美丝袜丝nylons| 国产成人小视频| 亚洲高清视频中文字幕| 欧美国产精品久久| 日韩午夜精品电影| 欧美综合亚洲图片综合区| 国产在线一区观看| 国产成人自拍网| 亚洲一区二区三区四区在线| 99精品视频中文字幕| 日韩中文字幕亚洲一区二区va在线| 国产日韩视频一区二区三区| 国产日本欧洲亚洲| 久久激情五月婷婷| 国产精品成人一区二区艾草| 国产精品福利一区二区三区| 国产精品久久久一本精品| 欧美激情一二三区| 亚洲欧美怡红院| 一区二区三区精品久久久| 亚洲一区二区三区自拍| 亚洲bt欧美bt精品777| 婷婷久久综合九色综合绿巨人 | 丝袜美腿亚洲综合| 美脚の诱脚舐め脚责91| 国产一区日韩二区欧美三区| 成人综合婷婷国产精品久久蜜臀| av亚洲精华国产精华精| 在线观看视频一区| 91精品国产综合久久精品 | 欧美日韩国产综合草草| 91精品免费在线| 欧美不卡一区二区| 国产精品动漫网站| 亚洲高清免费在线| 国产在线不卡一区| 成人免费看黄yyy456| 色丁香久综合在线久综合在线观看| 欧美日韩精品一区二区三区| 精品国产一区二区在线观看| 欧美高清一级片在线观看| 亚洲一区二区三区小说| 国内欧美视频一区二区| 91在线精品一区二区三区| 欧美精品在线一区二区| 国产午夜三级一区二区三| 亚洲精品精品亚洲| 激情伊人五月天久久综合| 91尤物视频在线观看| 欧美一区二区三区四区视频| 国产精品系列在线| 日韩精品视频网站| 99久久国产综合精品麻豆| 91麻豆精品国产91久久久久久| 国产亚洲欧美一区在线观看| 婷婷亚洲久悠悠色悠在线播放| 国产一区二区三区不卡在线观看| 在线视频亚洲一区| 国产三级精品在线| 日韩电影在线免费| 色屁屁一区二区| 国产喷白浆一区二区三区| 午夜视频一区在线观看| 成人h版在线观看| 欧美电影免费观看高清完整版在线 | 男女激情视频一区| 91在线观看一区二区| 欧美成人一区二区| 亚洲国产另类精品专区| eeuss鲁一区二区三区| 26uuu另类欧美| 日韩电影免费在线观看网站| 91浏览器打开| 国产精品国产成人国产三级| 韩国毛片一区二区三区| 欧美一级在线视频| 亚洲国产日韩综合久久精品| 成人激情文学综合网| 精品国产一区二区三区四区四 | 国产精品麻豆网站| 国产综合成人久久大片91| 欧美丰满高潮xxxx喷水动漫| 亚洲主播在线播放| av午夜一区麻豆| 欧美极品另类videosde| 国产麻豆成人传媒免费观看| 欧美电视剧在线观看完整版| 日韩二区在线观看| 欧美一区二区啪啪| 午夜精品久久久久久久| 欧美日韩性生活| 亚洲午夜久久久久久久久电影院| 91在线精品秘密一区二区| 中文字幕一区三区| 99久久久无码国产精品| 国产精品久久久久永久免费观看| 国产一区二区久久| 2024国产精品| 国产精品一卡二卡| 国产日韩欧美不卡在线| 成人av电影在线| 综合欧美亚洲日本| 色伊人久久综合中文字幕| 夜夜揉揉日日人人青青一国产精品 | 2023国产精品自拍| 国产在线精品一区二区三区不卡| 2023国产精华国产精品| 国产suv精品一区二区6| 国产精品美女久久久久aⅴ国产馆| 国产高清精品网站| 国产精品欧美一级免费| 91在线观看成人| 午夜免费欧美电影| 欧美本精品男人aⅴ天堂| 国产乱子伦视频一区二区三区| 国产亚洲一本大道中文在线| 北岛玲一区二区三区四区| 亚洲女人的天堂| 欧美日韩国产系列| 经典三级一区二区| 国产精品妹子av| 欧美伊人久久久久久午夜久久久久| 亚洲第一av色| 久久这里只有精品首页| 成人av电影在线观看| 亚洲国产精品久久艾草纯爱 | 在线精品视频一区二区| 久久精品国产77777蜜臀| 国产日韩影视精品| 欧美视频精品在线观看| 精品一区二区免费视频|