list ctrl能在不同的列加入图标吗解决办法
list ctrl能在不同的列加入图标吗
就是图标不总显示在每一行的前面,可以的话,具体应该怎么做
------解决方案--------------------
应该自己画吧,重载virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
------解决方案--------------------
void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct-> hDC);
int iSavedDC = pDC-> SaveDC(); // Save DC state
int iItem = lpDrawItemStruct-> itemID;
CRect rcBound;
GetItemRect(iItem, rcBound, LVIR_BOUNDS);
LV_COLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH;
for(int nColumn = 0; GetColumn(nColumn, &lvc); nColumn++){
//自己添把
}
pDC-> RestoreDC(iSavedDC); // Restore DC.
}
------解决方案--------------------
建议用GridCtrl,网上搜一下
就是图标不总显示在每一行的前面,可以的话,具体应该怎么做
------解决方案--------------------
应该自己画吧,重载virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
------解决方案--------------------
void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct-> hDC);
int iSavedDC = pDC-> SaveDC(); // Save DC state
int iItem = lpDrawItemStruct-> itemID;
CRect rcBound;
GetItemRect(iItem, rcBound, LVIR_BOUNDS);
LV_COLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH;
for(int nColumn = 0; GetColumn(nColumn, &lvc); nColumn++){
//自己添把
}
pDC-> RestoreDC(iSavedDC); // Restore DC.
}
------解决方案--------------------
建议用GridCtrl,网上搜一下