// // Class: CShadeButtonST // // Compiler: Visual C++ // eMbedded Visual C++ // Tested on: Visual C++ 6.0 // Windows CE 3.0 // // Created: 14/June/2001 // Updated: 25/November/2002 // // Author: Davide Calabro' davide_calabro@yahoo.com // http://www.softechsoftware.it // // 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 // #if !defined(AFX_SHADEBUTTONST_H__112CC337_38B5_43AD_A153_CD907FE4F039__INCLUDED_) #define AFX_SHADEBUTTONST_H__112CC337_38B5_43AD_A153_CD907FE4F039__INCLUDED_ #include "BtnST.h" #include "CeXDib.h" #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #ifdef BUILD_UTILITYDLL #define UTILITYDLL __declspec(dllexport) #else #define UTILITYDLL __declspec(dllimport) #endif // ShadeButtonST.h : header file // ///////////////////////////////////////////////////////////////////////////// // CShadeButtonST window class UTILITYDLL CShadeButtonST : public CButtonST { // Construction public: CShadeButtonST(); virtual ~CShadeButtonST(); enum { SHS_NOISE = 0, SHS_DIAGSHADE, SHS_HSHADE, SHS_VSHADE, SHS_HBUMP, SHS_VBUMP, SHS_SOFTBUMP, SHS_HARDBUMP, SHS_METAL }; void SetShade(UINT shadeID = SHS_HARDBUMP, BYTE granularity = 8, BYTE highlight = 10, BYTE coloring = 5, COLORREF color = RGB(55, 255, 55)); private: CCeXDib m_dNormal, m_dDown, m_dDisabled, m_dOver, m_dh, m_dv; // Gary, 20Jul09, change all customized UI to static variable to improve loading time static bool m_bCustomizedOptionLoaded; static bool m_bCustomizedColor; static COLORREF m_colorBackground; static unsigned int m_unShadeID; static unsigned char m_ucGranularity; static unsigned char m_ucHighlight; static unsigned char m_ucColoring; // Gary 1Sep10 V1.16.03, flag to indicate to use runtime set bk color bool m_bUseRuntimeBkColor; COLORREF m_colorRuntimeBk; unsigned char m_ucColoringRuntimeBK; protected: virtual DWORD OnDrawBorder(CDC* pDC, CRect* pRect); virtual DWORD OnDrawBackground(CDC* pDC, CRect* pRect); // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides // {{AFX_VIRTUAL(CShadeButtonST) // }}AFX_VIRTUAL // Implementation public: // Gary 1Sep10 V1.16.03, method to set different background color void SetShade(COLORREF colorBk, unsigned char unColoringTone = 40); // Gary 26Aug10 V1.16.03, method to set text color void SetTextColor(COLORREF colorText, BOOL bRepaint = TRUE); // Gary 26Aug10 V1.16.03, method to get text color void GetTextColor(COLORREF *colorText); // Generated message map functions protected: // {{AFX_MSG(CShadeButtonST) // NOTE - the ClassWizard will add and remove member functions here. // }}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // {{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_SHADEBUTTONST_H__112CC337_38B5_43AD_A153_CD907FE4F039__INCLUDED_)