首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎样在CMyListCtrl的自绘下调用OnCustomdrawList又调用DrawItem,该怎么处理

2012-03-19 
怎样在CMyListCtrl的自绘下调用OnCustomdrawList又调用DrawItem怎样在CMyListCtrl的自绘下调用OnCustomdra

怎样在CMyListCtrl的自绘下调用OnCustomdrawList又调用DrawItem
怎样在CMyListCtrl的自绘下调用OnCustomdrawList又调用DrawItem

CMyListCtrl是我继承CListCtrl的类   CMyListCtrl放在CMyDlg对话框

我之前写好了         afx_msg   void   OnCustomdrawList(NMHDR*,   LRESULT*);
或者           afx_msg   void   OnNMCustomdrawList(NMHDR*,   LRESULT*);

BEGIN_MESSAGE_MAP(CMyDlg,   CDialog)
...
ON_NOTIFY(NM_CUSTOMDRAW,   IDC_TICKET_MAIN,   &CTicketDlg::OnCustomdrawList)
END_MESSAGE_MAP()

void   CMyDlg::OnCustomdrawList(NMHDR*   pNMHDR,   LRESULT*   pResult)
{
...
}     而且调用显示正常

现在我又在CMyListCtrl中重载了
void     CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT   lpDrawItemStruct)
...
m_TicketList.ModifyStyle(0,LVS_OWNERDRAWFIXED,0);//实现会调用DrawItem();

但这时候却不调用OnCustomdrawList();
要怎样才能两者都调用呢..

DrawItem()用来显示字符拉...
因为我的OnCustomdrawList();用作显示每列不同背景颜色

就是因为我觉得写了DrawItem()后,它比默认的显示(即没写DrawItem()前)的速度慢得多...所以想可以调用OnCustomdrawList();..而不想自己再加显示不同列背景色的代码放在DrawItem()上
..
望赐教..

[解决办法]
在OnCustomdrawList里也可以显示字符的啊。
[解决办法]
系OnCustomdrawList里的当写子项的时候
CString sText=GetItemText(nItem,nCol); 
CRect rrect;
GetSubItemRect(rrect)
pDC- >DrawText(sText, -1, rrect, DT_LEFT); 



热点排行