High-speed-Charting-Control/ChartDemo/ColourPicker/ColourPicker.h

114 lines
3.8 KiB
C++

#if !defined(AFX_COLOURPICKER_H__D0B75901_9830_11D1_9C0F_00A0243D1382__INCLUDED_)
#define AFX_COLOURPICKER_H__D0B75901_9830_11D1_9C0F_00A0243D1382__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ColourPicker.h : header file
//
// Written by Chris Maunder (chrismaunder@codeguru.com)
// Extended by Alexander Bischofberger (bischofb@informatik.tu-muenchen.de)
// Copyright (c) 1998.
//
// 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 a simple email would be nice.
//
// This file is provided "as is" with no expressed or implied warranty.
// The author accepts no liability if it causes any damage whatsoever.
// It's free - so you get what you pay for.
#include "ColourPopup.h"
/////////////////////////////////////////////////////////////////////////////
// CColourPicker window
void AFXAPI DDX_ColourPicker(CDataExchange *pDX, int nIDC, COLORREF& crColour);
/////////////////////////////////////////////////////////////////////////////
// CColourPicker window
#define CP_MODE_TEXT 1 // edit text colour
#define CP_MODE_BK 2 // edit background colour (default)
class CColourPicker : public CButton
{
// Construction
public:
CColourPicker();
DECLARE_DYNCREATE(CColourPicker);
// Attributes
public:
COLORREF GetColour();
void SetColour(COLORREF crColour);
void SetDefaultText(LPCTSTR szDefaultText);
void SetCustomText(LPCTSTR szCustomText);
void SetTrackSelection(BOOL bTracking = TRUE) { m_bTrackSelection = bTracking; }
BOOL GetTrackSelection() { return m_bTrackSelection; }
void SetSelectionMode(UINT nMode) { m_nSelectionMode = nMode; }
UINT GetSelectionMode() { return m_nSelectionMode; };
void SetBkColour(COLORREF crColourBk);
COLORREF GetBkColour() { return m_crColourBk; }
void SetTextColour(COLORREF crColourText);
COLORREF GetTextColour() { return m_crColourText;}
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CColourPicker)
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
protected:
virtual void PreSubclassWindow();
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CColourPicker();
protected:
void SetWindowSize();
// protected attributes
protected:
BOOL m_bActive, // Is the dropdown active?
m_bTrackSelection; // track colour changes?
COLORREF m_crColourBk;
COLORREF m_crColourText;
UINT m_nSelectionMode;
CRect m_ArrowRect;
CString m_strDefaultText;
CString m_strCustomText;
// Generated message map functions
protected:
//{{AFX_MSG(CColourPicker)
afx_msg BOOL OnClicked();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
afx_msg LONG OnSelEndOK(UINT lParam, LONG wParam);
afx_msg LONG OnSelEndCancel(UINT lParam, LONG wParam);
afx_msg LONG OnSelChange(UINT lParam, LONG wParam);
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_COLOURPICKER_H__D0B75901_9830_11D1_9C0F_00A0243D1382__INCLUDED_)