如何在wtl程序中实现下拉框列表
1个回答
展开全部
OwnerDraw
控件的自画需要响应四个消息:WM_MEASUREITEM, WM_DRAWITEM, WM_COMPAREITEM, 和
WM_DELETEITEM ,在atlframe.h头文件中定义的COwnerDraw类可以简化这些工作,使
用这个类就不需要处理这四个消息,你只 需将消息链入COwnerDraw,它会调用你的类中的
重载函数。
如何将消息链入COwnerDraw取决与你是否将消息反射给控件,两种方法有些不同。下面是
COwnerDraw类的消息映射链,它使得两种方法的差别更加明显:
template class COwnerDraw
{
public:
BEGIN_MSG_MAP(COwnerDraw)
MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
MESSAGE_HANDLER(WM_MEASUREITEM, OnMeasureItem)
MESSAGE_HANDLER(WM_COMPAREITEM, OnCompareItem)
控件的自画需要响应四个消息:WM_MEASUREITEM, WM_DRAWITEM, WM_COMPAREITEM, 和
WM_DELETEITEM ,在atlframe.h头文件中定义的COwnerDraw类可以简化这些工作,使
用这个类就不需要处理这四个消息,你只 需将消息链入COwnerDraw,它会调用你的类中的
重载函数。
如何将消息链入COwnerDraw取决与你是否将消息反射给控件,两种方法有些不同。下面是
COwnerDraw类的消息映射链,它使得两种方法的差别更加明显:
template class COwnerDraw
{
public:
BEGIN_MSG_MAP(COwnerDraw)
MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
MESSAGE_HANDLER(WM_MEASUREITEM, OnMeasureItem)
MESSAGE_HANDLER(WM_COMPAREITEM, OnCompareItem)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询