本例实现一个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;