TouchBoard/ColorButton.h

102 lines
3.3 KiB
C
Raw Permalink Normal View History

2025-03-17 10:29:45 +09:00
// Written by Marius Bancila (mbancila@yahoo.com)
// Copyright (c) 2004.
//
// This code may be used in compiled form in any way you desire. This
// file may be redistributed unmodified by any means PROVIDING it is
// not sold for profit without the authors written consent, and
// providing that this notice and the authors name is included. If
// the source code in this file is used in any commercial application
// then acknowledgement must be made to the author of this file
// (in whatever form you wish).
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
//
// Please use and enjoy. Please let me know of any bugs/mods/improvements
// that you have found/implemented and I will fix/incorporate them into this
// file.
#if !defined(AFX_COLORBUTTON_H__EB5FACDB_272F_4883_A997_659DDA42FD38__INCLUDED_)
#define AFX_COLORBUTTON_H__EB5FACDB_272F_4883_A997_659DDA42FD38__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ColorButton.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CColorButton window
class CColorButton : public CButton
{
private:
enum { BUTTON_IN = 0x01,
BUTTON_OUT = 0x02,
BUTTON_BLACK_BORDER = 0x04,};
// Construction
public:
CColorButton();
CColorButton(COLORREF text, COLORREF bkgnd);
CColorButton(COLORREF text, COLORREF bkgnd, COLORREF disabled);
CColorButton(COLORREF text, COLORREF bkgnd, COLORREF disabled, COLORREF light, COLORREF highlight, COLORREF shadow, COLORREF darkShadow);
// Attributes
public:
private:
COLORREF m_TextColor;
COLORREF m_BkgndColor;
COLORREF m_DisabledBkgndColor;
COLORREF m_Light;
COLORREF m_Highlight;
COLORREF m_Shadow;
COLORREF m_DarkShadow;
// Operations
public:
void SetColor(COLORREF text, COLORREF bkgnd);
void SetColor(COLORREF text, COLORREF bkgnd, COLORREF disabled);
void SetColor(COLORREF text, COLORREF bkgnd, COLORREF disabled, COLORREF light, COLORREF highlight, COLORREF shadow, COLORREF darkShadow);
void SetColorToWindowsDefault();
private:
void DrawFrame(CDC *pDC, CRect rc, int state);
void DrawFilledRect(CDC *pDC, CRect rc, COLORREF color);
void DrawLine(CDC *pDC, long sx, long sy, long ex, long ey, COLORREF color);
void DrawButtonText(CDC *pDC, CRect rc, CString strCaption, COLORREF textcolor);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CColorButton)
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CColorButton();
// Generated message map functions
protected:
//{{AFX_MSG(CColorButton)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_COLORBUTTON_H__EB5FACDB_272F_4883_A997_659DDA42FD38__INCLUDED_)