如何自画CheckListBox? windows mobile下是不是不支持CCheckListBox呢

怎么自画CheckListBox? windows mobile上是不是不支持CCheckListBox呢?
windows mobile上是不是不支持CCheckListBox呢?如果不行,怎么自画CheckListBox? 

它里面afxwin.h里这样定义:
C/C++ code

#ifndef _WIN32_WCE // Controls
class CCheckListBox : public CListBox
{
    DECLARE_DYNAMIC(CCheckListBox)

// Constructors
public:
    CCheckListBox();
    virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);

// Attributes
    void SetCheckStyle(UINT nStyle);
    UINT GetCheckStyle();
    void SetCheck(int nIndex, int nCheck);
    int GetCheck(int nIndex);
    void Enable(int nIndex, BOOL bEnabled = TRUE);
    BOOL IsEnabled(int nIndex);

    virtual CRect OnGetCheckPosition(CRect rectItem, CRect rectCheckBox);

// Overridables (must override draw, measure and compare for owner draw)
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);

// Implementation
protected:
    void PreDrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    void PreMeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
    int PreCompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct);
    void PreDeleteItem(LPDELETEITEMSTRUCT lpDeleteItemStruct);
    bool PreDrawItemThemed(CDC* pDC, DRAWITEMSTRUCT &drawItem, int nCheck, int cyItem);
    void PreDrawItemNonThemed(CDC* pDC, DRAWITEMSTRUCT &drawItem, int nCheck, int cyItem);
    void PreDrawItemHelper(LPDRAWITEMSTRUCT lpDrawItemStruct);    

    virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);

   void SetSelectionCheck( int nCheck );

// Active Accessibility
    virtual HRESULT get_accRole(VARIANT varChild, VARIANT *pvarRole);
    virtual HRESULT get_accState(VARIANT varChild, VARIANT *pvarState);
    virtual HRESULT get_accDefaultAction(VARIANT varChild, BSTR *pszDefaultAction);
    virtual HRESULT accDoDefaultAction(VARIANT varChild);

#ifdef _DEBUG
    virtual void PreSubclassWindow();
#endif

    int CalcMinimumItemHeight();
    void InvalidateCheck(int nIndex);
    void InvalidateItem(int nIndex);
    int CheckFromPoint(CPoint point, BOOL& bInCheck);

    int m_cyText;
    UINT m_nStyle;

    // Message map functions
protected:
    //{{AFX_MSG(CCheckListBox)
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
    afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
    afx_msg LRESULT OnSetFont(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBAddString(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBFindString(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBFindStringExact(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBGetItemData(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBGetText(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBInsertString(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBSelectString(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBSetItemData(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnLBSetItemHeight(WPARAM wParam, LPARAM lParam);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};
#endif // !_WIN32_WCE





而mobile上的值是_WIN32_WCE=$(CEVER)


------解决方案--------------------
按你上面的说法,应该是不支持。
你可以用ListCtrl的Report形式来代替ListBox。如果要自绘ListBox,可以给控件设置LBS_OWNERDRAWFIXED风格,响应 WM_MEASUREITEM和WM_DRAWITEM消息,用DrawIcon、DrawText等函数来绘制。
------解决方案--------------------
CComboBox和CListBox,这两种控件的自绘方法基本一样。参考这里的CheckComboBox:
http://www.codeproject.com/KB/combobox/checkcombo.aspx
------解决方案--------------------
CCheckListBox 类有源代码(MFC 目录下),LZ 可以参考一下。
------解决方案--------------------