WTL COwnerDraw的有关问题!不能自绘

WTL COwnerDraw的问题!!!不能自绘。
我写个自绘按钮,但是没反应,哪位帮忙看下。

class   CButtonEz  
:   public   CWindowImpl <CButtonEz,CButton>
,   public   COwnerDraw <CButtonEz>
{
public:
CButtonEz();
~CButtonEz();

BEGIN_MSG_MAP(CButtonEz)
CHAIN_MSG_MAP_ALT(COwnerDraw <CButtonEz> ,1)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()

void   DrawItem(LPDRAWITEMSTRUCT   lpDrwStruct);
private:
HPEN   m_hPen;
};

在一个对话框中使用,对话框如下定义
class   CAboutDialog   :   public   CDialogImpl <CAboutDialog>
{
public:
enum   {IDD   =   IDD_ABOUTBOX};

BEGIN_MSG_MAP(CAboutDialog)
MESSAGE_HANDLER(WM_INITDIALOG,OnInitDialog)
MESSAGE_HANDLER(WM_CLOSE,OnClose)
COMMAND_ID_HANDLER(IDOK,OnOK)
REFLECT_NOTIFICATIONS()
END_MSG_MAP()
protected:
LRESULT   OnInitDialog(UINT   uMsg,WPARAM   wParam,LPARAM   lParam,BOOL&   bHandled)
{
m_wndBtnOK.SubclassWindow(GetDlgItem(IDOK));
m_wndBtnOK.SetWindowText(_T( "subclass "));

return   TRUE;
}
LRESULT   OnClose(UINT   uMsg,WPARAM   wParam,LPARAM   lParam,BOOL&   bHandled)
{
EndDialog(0);
return   0;
}
LRESULT   OnOK(WORD   wNotifyCode,WORD   wID,HWND   hWndCtrl,BOOL&   bHandled)
{
EndDialog(0);
return   0;
}
protected:
CButtonEz   m_wndBtnOK;
};

我调试发现CButtonEz的   DrawItem函数根本没有被调用,不知为何?



------解决方案--------------------
你的按钮是自绘风格的吗? BS_OWNERDRAW
------解决方案--------------------
你是SubclassWindow的,所以光改这里不行,这个地方只对你CreateWindow时有效。

在你的对话框资源里找到IDOK这个按钮,把它设置成BS_OWNERDRAW。