怎样在clistctrl中只显示图标,并使项的区域大小正好等于图标大小?该如何解决

怎样在clistctrl中只显示图标,并使项的区域大小正好等于图标大小?
需要说明的是,之前我查过很多资料,网上有些帖子提出的问题正是我要的,但是我没有理解清楚具体怎么做,下面是我找到的相关最有价值的帖子和文章:    
              http://community.csdn.net/Expert/TopicView3.asp?id=5032854    
              (上面的帖子提的问题正是我要的!!)    
              http://www.codeproject.com/listctrl/lvcustomdraw.asp    
              (这篇文章名字是Neat     Stuff     to     do     in     List     Controls     Using     Custom     Draw)    
              我使用了Custom     Draw来自绘listcontrol,在OnCustomDraw中只绘制图标,而不绘制文字。但是我发现文字是没有出现,但文字区域依然存在,项之间的间隙很大,而且鼠标左键单击该区域就选中了项。    
              我希望的效果是去掉文字区域,使各项紧密排列为一行,listctrl控件的高度就等于图标的高度。    
              请各位大虾耐心给予解释,指出具体的解决方法,不胜感激!

------解决方案--------------------
我觉得是取得具体的坐标,然后把他替换掉。
------解决方案--------------------
http://www.codeproject.com/miscctrl/gridctrl.asp
------解决方案--------------------
up
------解决方案--------------------
已经实现,
void CCAGENT::OnCustomdrawList ( NMHDR* pNMHDR, LRESULT* pResult )
{NMLVCUSTOMDRAW* pLVCD = reinterpret_cast <NMLVCUSTOMDRAW*> ( pNMHDR );

*pResult = 0;

// Request item-specific notifications if this is the
// beginning of the paint cycle.

if ( CDDS_PREPAINT == pLVCD-> nmcd.dwDrawStage )
{
*pResult = CDRF_NOTIFYITEMDRAW;
}
else if ( CDDS_ITEMPREPAINT == pLVCD-> nmcd.dwDrawStage )
{
// This is the beginning of an item 's paint cycle.
LVITEM rItem;
int nItem = static_cast <int> ( pLVCD-> nmcd.dwItemSpec );
CDC* pDC = CDC::FromHandle ( pLVCD-> nmcd.hdc );
COLORREF crBkgnd;
BOOL bListHasFocus;
CRect rcItem;
CRect rcText;
CString sText;
UINT uFormat;

bListHasFocus = ( m_agentList.GetSafeHwnd() == ::GetFocus() );

// Get the image index and selected/focused state of the
// item being drawn.
ZeroMemory ( &rItem, sizeof(LVITEM) );
rItem.mask = LVIF_IMAGE | LVIF_STATE;
rItem.iItem = nItem;
rItem.stateMask = LVIS_SELECTED | LVIS_FOCUSED;
m_agentList.GetItem ( &rItem );

// Get the rect that holds the item 's icon.
m_agentList.GetItemRect ( nItem, &rcItem, LVIR_ICON );

// Draw the icon.
uFormat = ILD_TRANSPARENT;

if ( ( rItem.state & LVIS_SELECTED ) && bListHasFocus )
uFormat |= ILD_FOCUS;

m_listImage.Draw ( pDC, rItem.iImage, rcItem.TopLeft(), uFormat );


// Get the rect that bounds the text label.
m_agentList.GetItemRect ( nItem, rcItem, LVIR_LABEL ); //把这行去掉就没有文字.


// Draw the background of the list item. Colors are selected
// according to the item 's state.

if ( rItem.state & LVIS_SELECTED )
{
if ( bListHasFocus )
{
crBkgnd = GetSysColor ( COLOR_HIGHLIGHT );
pDC-> SetTextColor ( GetSysColor ( COLOR_HIGHLIGHTTEXT ));
}
else
{
crBkgnd = GetSysColor ( COLOR_BTNFACE );
pDC-> SetTextColor ( GetSysColor ( COLOR_BTNTEXT ));
}
}
else