2025-11-27 16:46:48 +09:00

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