#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_)