www.pudn.com > StyleToolkit_demo_src.zip > StyleEdit.h


// 
// StyleEdit.h : Version 1.0 - see article at CodeProject.com 
// 
// Author:  Darren Sessions 
//           
// 
// Description: 
//     StyleEdit is a CEdit derived control that uses the Style class 
//	   and GDI+ to support different styles 
// 
// History 
//     Version 1.0 - 2008 June 20 
//     - Initial public release 
// 
// License: 
//     This software is released under the Code Project Open License (CPOL), 
//     which may be found here:  http://www.codeproject.com/info/eula.aspx 
//     You are free to use this software in any way you like, except that you  
//     may not sell this source code. 
// 
//     This software is provided "as is" with no expressed or implied warranty. 
//     I accept no liability for any damage or loss of business that this  
//     software may cause. 
// 
/////////////////////////////////////////////////////////////////////////////// 
 
#pragma once 
 
#include "Style.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// StyleEdit window 
 
class StyleEdit : public CEdit 
{ 
// Construction 
public: 
	StyleEdit(); 
	virtual ~StyleEdit(); 
 
	void SetStack(Stack stack); 
	void SetTextClr(COLORREF clr); 
 
	CRect m_rectNCBottom; 
	CRect m_rectNCTop; 
 
protected: 
 
	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); 
	afx_msg BOOL OnEraseBkgnd(CDC* pDC); 
	afx_msg void OnUpdate(); 
 
	DECLARE_MESSAGE_MAP() 
 
private: 
 
	Style		m_Style; 
	CRect		m_EditRect; 
	int			m_OffsetY; 
	CRect		m_NCRect; 
    CBrush		m_HollowBrush; 
	COLORREF	m_TextColor; 
 
public: 
	afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp); 
	virtual BOOL OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult); 
	afx_msg void OnNcPaint(); 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.