📄 sccolorbox.h
字号:
/*
* This file is part of the EMFexplorer projet.
* Copyright (C) 2004 Smith Charles.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
* Extension: for commercial use, apply the Equity Public License, which
* adds to the normal terms of the GLPL a condition of donation to the author.
* If you are interested in support for this source code,
* contact Smith Charles <smith.charles@free.fr> for more information.
*/
#ifndef _SCCOLORBOX_H_
#define _SCCOLORBOX_H_
#define SC_COLORITM_INFLATE 3
#define SC_COLORITM_HEIGHT_RGB 16
#define SC_COLORITM_HEIGHT_SYS 20
#define SC_COLORCMB_DROP_HEIGHT_RGB (32*SC_COLORITM_HEIGHT_RGB)
#define SC_COLORCMB_DROP_HEIGHT_SYS (32*SC_COLORITM_HEIGHT_SYS)
// default appropriate style to use
#define SC_COLORCMB_DFLT_STYLE (CBS_DROPDOWNLIST | CBS_OWNERDRAWVARIABLE)
/////////////////////////////////////////////////////////////////////////////
// CSCColorBox window
class CSCColorBox : public CComboBox
{
// Construction / Destruction
public:
CSCColorBox();
virtual void InitColorsComboBox(COLORREF crDefaultColor);
virtual ~CSCColorBox();
void SCReset();
// Attributes
public:
// getters
COLORREF SCGetCurSelColor() { return m_crSelColor; }
// setters
// Operations
public:
virtual COLORREF SCSetCurSelColor(COLORREF lColor);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSCColorBox)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual void DrawItem(LPDRAWITEMSTRUCT lpdis);
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpmis);
virtual int CompareItem(LPCOMPAREITEMSTRUCT lpcis);
//}}AFX_VIRTUAL
// Implementation
public:
static LOGPALETTE *SCCreatePaletteEntries();
static LOGPALETTE *SCCreateVGAPaletteEntries();
// Generated message map functions
protected:
//{{AFX_MSG(CSCColorBox)
afx_msg void OnSelendok();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
virtual void DrawEntireItem(LPDRAWITEMSTRUCT lpdis, INT inflate);
void HandleSelectionState(LPDRAWITEMSTRUCT lpdis,INT inflate);
void HandleFocusState(LPDRAWITEMSTRUCT lpdis,INT inflate);
protected:
virtual COLORREF SCSelectNewColor();
virtual LOGPALETTE *SCCreatePalette() { return SCCreatePaletteEntries(); }
int SCComputeFontHeight();
//
LOGPALETTE *m_pLogPalette;
BOOL m_bCustomAllowed;
COLORREF m_crSelColor;
private:
BOOL m_bDlgOpened;
static PALETTEENTRY const s_VgaPalette[];
};
class CSCSysColorBox : public CSCColorBox
{
// Construction / Destruction
public:
CSCSysColorBox();
virtual void InitColorsComboBox(COLORREF crDefaultColor);
virtual ~CSCSysColorBox();
// Attributes
public:
// getters
// setters
// Operations
public:
virtual COLORREF SCSetCurSelColor(COLORREF crColor);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSCSysColorBox)
public:
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpmis);
virtual int CompareItem(LPCOMPAREITEMSTRUCT lpcis);
//}}AFX_VIRTUAL
// Implementation
public:
protected:
virtual COLORREF SCSelectNewColor();
virtual LOGPALETTE *SCCreatePalette() { return SCCreateSysPaletteEntries(); }
virtual void DrawEntireItem(LPDRAWITEMSTRUCT lpdis, INT inflate);
static LOGPALETTE *SCCreateSysPaletteEntries();
// Generated message map functions
protected:
//{{AFX_MSG(CSCSysColorBox)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
};
/////////////////////////////////////////////////////////////////////////////
#endif //_SCCOLORBOX_H_
// ------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -