106 lines
2.9 KiB
C++
106 lines
2.9 KiB
C++
#if !defined(_BORDERPICKERCTRL_H_)
|
|
#define _BORDERPICKERCTRL_H_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include "OXPopupBarCtrl.h"
|
|
#include "Resource.h"
|
|
|
|
// BorderPickerCtrl.h : header file
|
|
//
|
|
|
|
// border styles
|
|
#define ID_BORDER_NONE 0x00000000
|
|
#define ID_BORDER_TOP 0x00000001
|
|
#define ID_BORDER_BOTTOM 0x00000002
|
|
#define ID_BORDER_LEFT 0x00000004
|
|
#define ID_BORDER_RIGHT 0x00000008
|
|
#define ID_BORDER_OUTSIDE ID_BORDER_TOP|ID_BORDER_BOTTOM|ID_BORDER_LEFT|ID_BORDER_RIGHT
|
|
#define ID_BORDER_HORZ_INSIDE 0x00010000
|
|
#define ID_BORDER_VERT_INSIDE 0x00020000
|
|
#define ID_BORDER_INSIDE ID_BORDER_HORZ_INSIDE|ID_BORDER_VERT_INSIDE
|
|
#define ID_BORDER_ALL ID_BORDER_OUTSIDE|ID_BORDER_INSIDE
|
|
|
|
// the number of predefined tooltiptext
|
|
#define BORDERPICK_DEFINEDSTYLES 10
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CBorderPickerCtrl window
|
|
|
|
class CBorderPickerCtrl : public COXPopupBarCtrl
|
|
{
|
|
// Construction
|
|
public:
|
|
CBorderPickerCtrl(UINT nButtons=BORDERPICK_DEFINEDSTYLES, UINT nRows=2,
|
|
DWORD dwDefault=ID_BORDER_ALL, CSize sizeButton=CSize(19,19),
|
|
int nIDDefault=IDS_DEFAULT, int nIDCustom=IDS_CUSTOM);
|
|
|
|
// Data
|
|
protected:
|
|
static DWORD m_defaultBorderStyles[];
|
|
|
|
static ButtonToolTipIDTable m_defaultArrToolTipText[];
|
|
|
|
CImageList m_ilStyles;
|
|
|
|
// data for inner use
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
virtual BOOL Pick(UINT nAlignment=ID_POPUPBAR_ALIGNBOTTOM, CRect* pParentRect=NULL,
|
|
CSize sizeOffset=CSize(0,0));
|
|
|
|
// sets selected color
|
|
inline void SetSelectedStyle(DWORD dwSelected) { SetSelectedData(dwSelected); }
|
|
// returns selected color
|
|
inline DWORD GetSelectedStyle() { return GetSelectedData(); }
|
|
// sets default color
|
|
inline void SetDefaultStyle(DWORD dwDefault) { SetDefaultData(dwDefault); }
|
|
// returns default color
|
|
inline DWORD GetDefaultStyle() { return GetDefaultData(); }
|
|
|
|
inline BOOL SetStylesImages(UINT nBitmapID, int cx, int nGrow, COLORREF crMask)
|
|
{
|
|
return SetStylesImages(MAKEINTRESOURCE(nBitmapID), cx, nGrow, crMask);
|
|
}
|
|
inline BOOL SetStylesImages(LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREF crMask)
|
|
{
|
|
return m_ilStyles.Create(lpszBitmapID, cx, nGrow, crMask);
|
|
}
|
|
|
|
inline CImageList* GetStylesImages() { return &m_ilStyles; }
|
|
|
|
static int FindImageIndexFromStyle(DWORD dwStyle);
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CBorderPickerCtrl)
|
|
//}}AFX_VIRTUAL
|
|
public:
|
|
virtual ~CBorderPickerCtrl() {} ;
|
|
|
|
// implementation
|
|
protected:
|
|
virtual void DrawButton(CDC* pDC, UINT nIndex);
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CBorderPickerCtrl)
|
|
//}}AFX_MSG
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(_BORDERPICKERCTRL_H_)
|