ColourPopup.h
上传用户:cn05999
上传日期:2020-06-29
资源大小:84k
文件大小:3k
- #if !defined(AFX_COLOURPOPUP_H__48E80B39_FD73_4BB8_9E4B_7B5ADCAB8416__INCLUDED_)
- #define AFX_COLOURPOPUP_H__48E80B39_FD73_4BB8_9E4B_7B5ADCAB8416__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // ColourPopup.h : header file
- //
- #define CPN_SELCHANGE WM_USER+1001
- #define CPN_SELENDOK WM_USER+1004
- #define CPN_SELENDCANCEL WM_USER+1005
- class CColourPicker;
- typedef struct {
- COLORREF crColour;
- TCHAR* szName;
- }ColourTableEntry;
- /////////////////////////////////////////////////////////////////////////////
- // CColourPopup window
- class CColourPopup : public CWnd
- {
- // Construction
- public:
- CColourPopup();
- // Attributes
- public:
- // Operations
- public:
- COLORREF GetColour(int row,int col)
- {
- return m_crColours[row*m_nNumColumns+col].crColour;
- }
- LPCTSTR GetColourName(int row,int col)
- {
- return m_crColours[row*m_nNumColumns+col].szName;
- }
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CColourPopup)
- public:
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- //}}AFX_VIRTUAL
- // Implementation
- public:
- CColourPopup(CPoint p,COLORREF crColour,CWnd* pParentWnd,UINT nID,LPCTSTR szCustomText=NULL);
- // Generated message map functions
- protected:
- virtual ~CColourPopup();
- void FindCellFromColour(COLORREF crColour);
- BOOL Create(CPoint p,COLORREF crColour, CWnd* pParentWnd,UINT nID,LPCTSTR szCustomText);
- void CreateToolTips();
- void Initialize();
- void ChangeSelection(int row,int col);
- void EndSelection(int nMessage);
- void DrawCell(CDC *pDC,int row,int col);
- BOOL GetCellRect(int row,int col,const LPRECT &rect);
- void SetWindowSize();
- static ColourTableEntry m_crColours[];
- int m_nNumColours;
- int m_nNumColumns,m_nNumRows;
- int m_nBoxSize,m_nMargin;
- int m_nCurrentRow,m_nCurrentCol;
- int m_nChosenColourRow,m_nChosenColourCol;
- BOOL m_bShowCustom;
- CString m_strCustomText;
- CRect m_TextRect,m_WindowRect;
- CFont m_Font;
- CPalette m_Palette;
- COLORREF m_crInitialColour,m_crColour;
- //使用CToolTimCtrl控件
- CToolTipCtrl m_ToolTip;
- CWnd* m_pParent;
- //{{AFX_MSG(CColourPopup)
- afx_msg void OnPaint();
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
- afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
- afx_msg BOOL OnQueryNewPalette();
- afx_msg void OnNcDestroy();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_COLOURPOPUP_H__48E80B39_FD73_4BB8_9E4B_7B5ADCAB8416__INCLUDED_)