⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colourpopup.h

📁 visual c++ 实例编程
💻 H
字号:
#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_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -