114 lines
3.8 KiB
C++
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_)
|