青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

//
//    Class:        CButtonST
//
//    Compiler:    Visual C++
//    Tested on:    Visual C++ 5.0
//                Visual C++ 6.0
//
//    Version:    See GetVersionC() or GetVersionI()
//
//    Created:    xx/xxxx/1998
//    Updated:    03/March/2003
//
//    Author:        Davide Calabro'        davide_calabro@yahoo.com
//                                    http://www.softechsoftware.it
//
//    Note:        Code for the PreSubclassWindow and OnSetStyle functions
//                has been taken from the COddButton class
//                published by Paolo Messina and Jerzy Kaczorowski
//
//    Disclaimer
//    ----------
//    THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT
//    ANY WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO REPONSIBILITIES FOR POSSIBLE
//    DAMAGES OR EVEN FUNCTIONALITY CAN BE TAKEN. THE USER MUST ASSUME THE ENTIRE
//    RISK OF USING THIS SOFTWARE.
//
//    Terms of use
//    ------------
//    THIS SOFTWARE IS FREE FOR PERSONAL USE OR FREEWARE APPLICATIONS.
//    IF YOU USE THIS SOFTWARE IN COMMERCIAL OR SHAREWARE APPLICATIONS YOU
//    ARE GENTLY ASKED TO DONATE 5$ (FIVE U.S. DOLLARS) TO THE AUTHOR:
//
//        Davide Calabro'
//        P.O. Box 65
//        21019 Somma Lombardo (VA)
//        Italy
//
#ifndef _BTNST_H
#define _BTNST_H

// Uncomment the following 2 lines to enable support for BCMenu class
#define    BTNST_USE_BCMENU
#include 
"BCMenu.h"

// Uncomment the following line to enable support for sound effects
#define    BTNST_USE_SOUND

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

// Return values
#ifndef    BTNST_OK
#define    BTNST_OK                        0
#endif
#ifndef    BTNST_INVALIDRESOURCE
#define    BTNST_INVALIDRESOURCE            1
#endif
#ifndef    BTNST_FAILEDMASK
#define    BTNST_FAILEDMASK                2
#endif
#ifndef    BTNST_INVALIDINDEX
#define    BTNST_INVALIDINDEX                3
#endif
#ifndef    BTNST_INVALIDALIGN
#define    BTNST_INVALIDALIGN                4
#endif
#ifndef    BTNST_BADPARAM
#define    BTNST_BADPARAM                    5
#endif
#ifndef    BTNST_INVALIDPRESSEDSTYLE
#define    BTNST_INVALIDPRESSEDSTYLE        6
#endif

// Dummy identifier for grayscale icon
#ifndef    BTNST_AUTO_GRAY
#define    BTNST_AUTO_GRAY                    (HICON)(0xffffffff - 1L)
#endif
// Dummy identifier for 15% darker icon
#ifndef    BTNST_AUTO_DARKER
#define    BTNST_AUTO_DARKER                (HICON)(0xffffffff - 2L)
#endif

class CButtonST : public CButton
{
public:
    CButtonST();
    
~CButtonST();

    
enum    {    ST_ALIGN_HORIZ    = 0,            // Icon/bitmap on the left, text on the right
                ST_ALIGN_VERT,                    // Icon/bitmap on the top, text on the bottom
                ST_ALIGN_HORIZ_RIGHT,            // Icon/bitmap on the right, text on the left
                ST_ALIGN_OVERLAP                // Icon/bitmap on the same space as text
            }
;

    
enum    {    BTNST_COLOR_BK_IN    = 0,        // Background color when mouse is INside
                BTNST_COLOR_FG_IN,                // Text color when mouse is INside
                BTNST_COLOR_BK_OUT,                // Background color when mouse is OUTside
                BTNST_COLOR_FG_OUT,                // Text color when mouse is OUTside
                BTNST_COLOR_BK_FOCUS,            // Background color when the button is focused
                BTNST_COLOR_FG_FOCUS,            // Text color when the button is focused

                BTNST_MAX_COLORS
            }
;

    
enum    {    BTNST_PRESSED_LEFTRIGHT = 0,    // Pressed style from left to right (as usual)
                BTNST_PRESSED_TOPBOTTOM            // Pressed style from top to bottom
            }
;

    
// ClassWizard generated virtual function overrides
    
//{{AFX_VIRTUAL(CButtonST)
    public:
    
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    
virtual BOOL PreTranslateMessage(MSG* pMsg);
    
protected:
    
virtual void PreSubclassWindow();
    
//}}AFX_VIRTUAL

public:
    DWORD SetDefaultColors(BOOL bRepaint 
= TRUE);
    DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint 
= TRUE);
    DWORD GetColor(BYTE byColorIndex, COLORREF
* crpColor);
    DWORD OffsetColor(BYTE byColorIndex, 
short shOffset, BOOL bRepaint = TRUE);

    DWORD SetCheck(
int nCheck, BOOL bRepaint = TRUE);
    
int GetCheck();

    DWORD SetURL(LPCTSTR lpszURL 
= NULL);
    
void DrawTransparent(BOOL bRepaint = FALSE);
    DWORD SetBk(CDC
* pDC);

    BOOL GetDefault();
    DWORD SetAlwaysTrack(BOOL bAlwaysTrack 
= TRUE);

    
void SetTooltipText(int nText, BOOL bActivate = TRUE);
    
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE);
    
void ActivateTooltip(BOOL bEnable = TRUE);
    DWORD EnableBalloonTooltip();

    DWORD SetBtnCursor(
int nCursorId = NULL, BOOL bRepaint = TRUE);

    DWORD SetFlat(BOOL bFlat 
= TRUE, BOOL bRepaint = TRUE);
    DWORD SetAlign(BYTE byAlign, BOOL bRepaint 
= TRUE);
    DWORD SetPressedStyle(BYTE byStyle, BOOL bRepaint 
= TRUE);

    DWORD DrawBorder(BOOL bDrawBorder 
= TRUE, BOOL bRepaint = TRUE);
    DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint 
= TRUE);

    DWORD SetIcon(
int nIconIn, int nCxDesiredIn, int nCyDesiredIn, int nIconOut = NULL, int nCxDesiredOut = 0int nCyDesiredOut = 0);
    DWORD SetIcon(
int nIconIn, int nIconOut = NULL);
    DWORD SetIcon(HICON hIconIn, HICON hIconOut 
= NULL);

    DWORD SetBitmaps(
int nBitmapIn, COLORREF crTransColorIn, int nBitmapOut = NULL, COLORREF crTransColorOut = 0);
    DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut 
= NULL, COLORREF crTransColorOut = 0);

    
void SizeToContent();

#ifdef    BTNST_USE_BCMENU
    DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bWinXPStyle 
= TRUE, UINT nToolbarID = NULL, CSize sizeToolbarIcon = CSize(1616), COLORREF crToolbarBk = RGB(2550255), BOOL bRepaint = TRUE);
#else
    DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bRepaint 
= TRUE);
#endif
    DWORD SetMenuCallback(HWND hWnd, UINT nMessage, LPARAM lParam 
= 0);

#ifdef    BTNST_USE_SOUND
    DWORD SetSound(LPCTSTR lpszSound, HMODULE hMod 
= NULL, BOOL bPlayOnClick = FALSE, BOOL bPlayAsync = TRUE);
#endif

    
static short GetVersionI()        {return 39;}
    
static LPCTSTR GetVersionC()    {return (LPCTSTR)_T("3.9");}

    BOOL    m_bShowDisabledBitmap;
    POINT    m_ptImageOrg;
    POINT    m_ptPressedOffset;

protected:
    
//{{AFX_MSG(CButtonST)
    afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
    afx_msg 
void OnKillFocus(CWnd* pNewWnd);
    afx_msg 
void OnMouseMove(UINT nFlags, CPoint point);
    afx_msg 
void OnSysColorChange();
    afx_msg BOOL OnClicked();
    afx_msg 
void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
    afx_msg 
void OnEnable(BOOL bEnable);
    afx_msg 
void OnCancelMode();
    afx_msg UINT OnGetDlgCode();
    
//}}AFX_MSG

#ifdef    BTNST_USE_BCMENU
    afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu
* pMenu);
    afx_msg 
void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
#endif

    afx_msg HBRUSH CtlColor(CDC
* pDC, UINT nCtlColor);
    HICON CreateGrayscaleIcon(HICON hIcon);
    HICON CreateDarkerIcon(HICON hIcon);
    HBITMAP CreateGrayscaleBitmap(HBITMAP hBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTrans);
    HBITMAP CreateDarkerBitmap(HBITMAP hBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTrans);
    COLORREF DarkenColor(COLORREF crColor, 
double dFactor);
    
virtual DWORD OnDrawBackground(CDC* pDC, CRect* pRect);
    
virtual DWORD OnDrawBorder(CDC* pDC, CRect* pRect);

    BOOL        m_bIsFlat;            
// Is a flat button?
    BOOL        m_bMouseOnButton;    // Is mouse over the button?
    BOOL        m_bDrawTransparent;    // Draw transparent?
    BOOL        m_bIsPressed;        // Is button pressed?
    BOOL        m_bIsFocused;        // Is button focused?
    BOOL        m_bIsDisabled;        // Is button disabled?
    BOOL        m_bIsDefault;        // Is default button?
    BOOL        m_bIsCheckBox;        // Is the button a checkbox?
    BYTE        m_byAlign;            // Align mode
    BOOL        m_bDrawBorder;        // Draw border?
    BOOL        m_bDrawFlatFocus;    // Draw focus rectangle for flat button?
    COLORREF    m_crColors[BTNST_MAX_COLORS];    // Colors to be used
    HWND        m_hParentWndMenu;    // Handle to window for menu selection
    BOOL        m_bMenuDisplayed;    // Is menu displayed ?

#ifdef    BTNST_USE_BCMENU
    BCMenu        m_menuPopup;        
// BCMenu class instance
#else
    HMENU        m_hMenu;            
// Handle to associated menu
#endif

private:
    LRESULT OnSetCheck(WPARAM wParam, LPARAM lParam);
    LRESULT OnGetCheck(WPARAM wParam, LPARAM lParam);
    LRESULT OnSetStyle(WPARAM wParam, LPARAM lParam);
    LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam);

    
void CancelHover();
    
void FreeResources(BOOL bCheckForNULL = TRUE);
    
void PrepareImageRect(BOOL bHasTitle, RECT* rpItem, CRect* rpTitle, BOOL bIsPressed, DWORD dwWidth, DWORD dwHeight, CRect* rpImage);
    HBITMAP CreateBitmapMask(HBITMAP hSourceBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTransColor);
    
virtual void DrawTheIcon(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled);
    
virtual void DrawTheBitmap(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled);
    
virtual void DrawTheText(CDC* pDC, LPCTSTR lpszText, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled);
    
void PaintBk(CDC* pDC);

    
void InitToolTip();

    HCURSOR        m_hCursor;            
// Handle to cursor
    CToolTipCtrl m_ToolTip;            // Tooltip

    CDC            m_dcBk;
    CBitmap        m_bmpBk;
    CBitmap
*    m_pbmpOldBk;

    BOOL        m_bAlwaysTrack;        
// Always hilight button?
    int            m_nCheck;            // Current value for checkbox
    UINT        m_nTypeStyle;        // Button style
    DWORD        m_dwToolTipStyle;    // Style of tooltip control

    TCHAR        m_szURL[_MAX_PATH];    
// URL to open when clicked

#pragma pack(
1)
    typedef 
struct _STRUCT_ICONS
    
{
        HICON        hIcon;            
// Handle to icon
        DWORD        dwWidth;        // Width of icon
        DWORD        dwHeight;        // Height of icon
    }
 STRUCT_ICONS;
#pragma pack()

#pragma pack(
1)
    typedef 
struct _STRUCT_BITMAPS
    
{
        HBITMAP        hBitmap;        
// Handle to bitmap
        DWORD        dwWidth;        // Width of bitmap
        DWORD        dwHeight;        // Height of bitmap
        HBITMAP        hMask;            // Handle to mask bitmap
        COLORREF    crTransparent;    // Transparent color
    }
 STRUCT_BITMAPS;
#pragma pack()

#pragma pack(
1)
    typedef 
struct _STRUCT_CALLBACK
    
{
        HWND        hWnd;            
// Handle to window
        UINT        nMessage;        // Message identifier
        WPARAM        wParam;
        LPARAM        lParam;
    }
 STRUCT_CALLBACK;
#pragma pack()

    STRUCT_ICONS    m_csIcons[
2];
    STRUCT_BITMAPS    m_csBitmaps[
2];

    STRUCT_CALLBACK    m_csCallbacks;

#ifdef    BTNST_USE_SOUND
#pragma pack(
1)
    typedef 
struct _STRUCT_SOUND
    
{
        TCHAR        szSound[_MAX_PATH];
        LPCTSTR        lpszSound;
        HMODULE        hMod;
        DWORD        dwFlags;
    }
 STRUCT_SOUND;
#pragma pack()

    STRUCT_SOUND    m_csSounds[
2];    // Index 0 = Over    1 = Clicked
#endif

    DECLARE_MESSAGE_MAP()
}
;

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif
Posted on 2007-04-12 11:37 艾凡赫 閱讀(2368) 評論(0)  編輯 收藏 引用 所屬分類: MFC技術(shù)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩成人在线| 亚洲日本久久| 国产偷国产偷亚洲高清97cao| 欧美成人资源| 免费不卡在线观看av| 麻豆久久久9性大片| 欧美国产一区二区| 欧美日韩国产在线| 国产精品一区二区你懂得 | 亚洲精品无人区| 99精品久久久| 欧美一区二区三区在| 久久精品99| 亚洲国产一成人久久精品| 蜜臀a∨国产成人精品| 久久漫画官网| 欧美高清在线一区| 一区二区三区国产精华| 欧美一区二区视频在线| 女仆av观看一区| 国产精品丝袜xxxxxxx| 亚洲精品国精品久久99热| 一本一本大道香蕉久在线精品| 亚洲在线视频观看| 久久久久国产精品一区三寸| 欧美国产极速在线| 国产欧美日韩在线播放| 亚洲精品乱码久久久久久黑人| 亚洲专区一二三| 欧美高清不卡在线| 亚洲一级二级| 欧美岛国在线观看| 国内精品久久久久影院色| 亚洲人永久免费| 久久中文久久字幕| 亚洲视频在线观看免费| 欧美高清在线| 极品av少妇一区二区| 亚洲综合日本| 最近看过的日韩成人| 久久精品官网| 国产一区二区三区四区老人| 亚洲性视频h| 欧美激情亚洲视频| 久久精品国产亚洲精品| 国产精品美女久久久久av超清| 亚洲黄一区二区三区| 久久久久国内| 午夜亚洲精品| 国产九色精品成人porny| 9i看片成人免费高清| 欧美韩日亚洲| 免费日本视频一区| 亚洲国内精品| 亚洲国产cao| 免费日韩av| 亚洲电影第三页| 女人色偷偷aa久久天堂| 欧美一区二区三区婷婷月色 | 亚洲一区二区三区影院| 亚洲国产影院| 欧美另类视频在线| 中日韩高清电影网| 亚洲美女一区| 欧美视频1区| 欧美一区国产一区| 欧美一区二区三区视频| 国产亚洲免费的视频看| 久久婷婷av| 久久久噜噜噜久久久| 欧美a级大片| 欧美激情一区二区三区在线视频观看 | 欧美成在线视频| 亚洲精品久久在线| 亚洲国产成人一区| 欧美性猛交xxxx乱大交退制版| 一区二区三区四区国产精品| 亚洲精品少妇30p| 国产精品国产a| 久久精品国产69国产精品亚洲 | 久久er精品视频| 亚洲电影在线免费观看| 亚洲经典在线| 国产精品一区二区久久精品| 久久精品视频免费观看| 久久精品免费播放| 日韩视频免费观看| 亚洲视频在线一区观看| 国产一区二区三区在线播放免费观看 | 亚洲精品免费观看| aa国产精品| 国产亚洲二区| 欧美成人亚洲成人日韩成人| 欧美高清成人| 性欧美1819性猛交| 欧美大片在线影院| 欧美一区二区视频在线观看2020| 久久精品国产一区二区三| 亚洲精品久久久久久下一站| 亚洲一区成人| 亚洲国产美女| 亚洲欧美日韩在线观看a三区| 在线免费观看欧美| 亚洲一卡二卡三卡四卡五卡| 在线观看成人av| 亚洲一区二区视频在线| 亚洲福利视频一区| 亚洲欧美三级伦理| 亚洲人成网站在线播| 欧美一级夜夜爽| 亚洲伊人一本大道中文字幕| 久久久最新网址| 欧美一级视频精品观看| 欧美不卡高清| 欧美国产日韩xxxxx| 国产乱理伦片在线观看夜一区 | 久久精品国产亚洲aⅴ| 亚洲私人影院| 欧美日韩国产精品一区二区亚洲| 老色鬼精品视频在线观看播放| 欧美日韩国产系列| 亚洲欧洲精品一区二区精品久久久 | 亚洲午夜精品久久久久久app| 国语自产在线不卡| 欧美激情一区二区三区| 欧美精品少妇一区二区三区| 亚洲激情一区二区| 久久久久久色| 夜夜嗨av一区二区三区四季av | 国产亚洲欧美aaaa| 麻豆精品在线视频| 欧美视频一区二区在线观看| 一本色道久久综合精品竹菊 | 欧美成人激情视频| 黄色亚洲大片免费在线观看| 亚洲一区三区视频在线观看| 欧美一区=区| 国内精品模特av私拍在线观看| 亚洲深夜av| 欧美在线观看日本一区| 欧美粗暴jizz性欧美20| 亚洲精品乱码| 久久久99精品免费观看不卡| 亚洲乱码国产乱码精品精可以看 | 国产精品视频一二三| 欧美国产欧美综合| 91久久久在线| 欧美精品18videos性欧美| 久久综合狠狠综合久久综合88| 久久久久久高潮国产精品视| 亚洲国产婷婷香蕉久久久久久| 亚洲一区欧美激情| 美日韩精品免费观看视频| 久久午夜精品| 欧美成人首页| 亚洲高清久久网| 久久久国产午夜精品| 欧美寡妇偷汉性猛交| 国产精品99久久久久久久久久久久 | 欧美激情一区二区三区成人| 中文一区二区| 欧美jizz19性欧美| 欧美尤物巨大精品爽| 久久9热精品视频| 久久久久这里只有精品| 亚洲欧美日韩在线| 一区二区视频免费在线观看| 国产精品你懂的| 国产精品久久久久999| 国产精品久久久久久久午夜| 久久精品视频99| 一本久久综合亚洲鲁鲁| 午夜精品免费| 欧美大片在线观看一区| 麻豆精品国产91久久久久久| 欧美精品久久天天躁| 午夜日韩av| 久久久久久久一区二区三区| 欧美精品电影| 国产精品三上| 女人天堂亚洲aⅴ在线观看| 久久久久久久欧美精品| 久久久最新网址| 欧美影视一区| 欧美另类综合| 亚洲精品久久久久久久久久久久久| 一区二区三区四区五区在线| 最近看过的日韩成人| 欧美一级成年大片在线观看| 亚洲理论在线| 国产精品99一区| 日韩一级黄色av| 亚洲激精日韩激精欧美精品| 香蕉乱码成人久久天堂爱免费 | 欧美日韩一区二区三区在线看| 国产精品蜜臀在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲视频一二| 欧美亚洲在线| 亚洲国产小视频|