请问DrawItem方法什么时候被调用
问题来源于我的另一个问题:如何从CWnd类继承实现自己的按钮类?
帖号:http://expert.csdn.net/Expert/topic/2489/2489088.xml?temp=.9220545
我现在开始做这个东西,
由于没有任何这方面的经验,我查阅资料后凭着感觉写了如下代码-):
//TestButton.h
class CTestButton : public CWnd
{
DECLARE_DYNAMIC(CTestButton)
public:
CTestButton();
virtual ~CTestButton();
//下面是重载CWnd里的成员函数
virtual void PreSubclassWindow();
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct );//
}
//TestButton.cpp
IMPLEMENT_DYNAMIC(CTestButton,CWnd)
CTestButton::CTestButton()
{
}
CTestButton::~CTestButton()
{
}
void CTestButton::PreSubclassWindow()
{
//CWnd::PreSubclassWindow();
ModifyStyle(0,BS_OWNERDRAW);
}
void CTestButton::DrawItem(int nIDCtl,LPDRAWITEMSTRUCT lpDrawItemStruct)
{
//具体代码略
}
编译后居然通过了,呵呵,可是运行后发现DrawItem的函数体根本没有被执行到,
请问怎样才能让系统在ModifyStyle(0,BS_OWNERDRAW);语句后自动调用DrawItem()函数?
谢谢!
另外,也请朋友们关注一下我的另外一个帖子: