- #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 (Chris.Maunder@cbr.clw.csiro.au)
- // 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:
- void SetBkColour(COLORREF crColourBk);
- COLORREF GetBkColour() { return m_crColourBk; }
- void SetTextColour(COLORREF crColourText);
- COLORREF GetTextColour() { return m_crColourText;}
- 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; };
- COLORREF GetColour() { return (m_nSelectionMode == CP_MODE_TEXT)?
- GetTextColour(): GetBkColour(); }
- void SetColour(COLORREF crColour)
- { (m_nSelectionMode == CP_MODE_TEXT)?
- SetTextColour(crColour): SetBkColour(crColour); }
- // 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;
- // 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_)