本文主要是介绍【VC】实现CWnd类的自定义,并实现自定义控件!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本例实现一个ColorWnd类,实现通过鼠标单击,刷新不同的颜色背景。
class CColorWnd : public CWnd
{DECLARE_DYNAMIC(CColorWnd)public:CColorWnd();virtual ~CColorWnd();virtual BOOL PreCreateWindow(CREATESTRUCT& cs);afx_msg void OnLButtonDown(UINT nFlags, CPoint point);afx_msg void OnPaint();protected:DECLARE_MESSAGE_MAP()public:BOOL Create(CRect rcLayout,CWnd *pParenWnd,UINT nID,DWORD dwStyle = WS_CHILD|WS_VISIBLE); };
MPLEMENT_DYNAMIC(CColorWnd, CWnd)CColorWnd::CColorWnd()
{}CColorWnd::~CColorWnd()
{}BEGIN_MESSAGE_MAP(CColorWnd, CWnd)ON_WM_PAINT()ON_WM_SIZE()ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()BOOL CColorWnd::PreCreateWindow(CREATESTRUCT& cs)
{WNDCLASS wndcls;memset(&wndcls, 0, sizeof(WNDCLASS));wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW | CS_NOCLOSE;wndcls.lpfnWndProc = ::DefWindowProc;
这篇关于【VC】实现CWnd类的自定义,并实现自定义控件!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!