关于子类化Windows树控件(CTreeCtrl)后,滚动条和图表透明背景色有关问题

关于子类化Windows树控件(CTreeCtrl)后,滚动条和图表透明背景色问题
我用MFC的ActiveX向导子类化了树控件,然后将第一级项目的高度设置为第二级项目(树控件只有两层)的2倍,代码如下:[code=C/C++][/code]
int iOldHeight = m_pTreeCtrl->GetItemHeight();

TVITEMEX itemEx;

itemEx.hItem = hItem;
itemEx.mask = TVIF_INTEGRAL;
itemEx.iIntegral = iHeight / iOldHeight; //iHeight是iOldHeight的2倍

SendMessage(TVM_SETITEM, 0, LPARAM(&itemEx));

一级项目的高度确实变成了二级项目的两倍。但问题是滚动条长度没有变(和原来没有改变一级项目高度时一样),即把滚动条拖到最底部时,无法显示最后面的一些项目。只有当展开任意一个一级项目后,滚动条长度才缩短到合适的尺寸。这是拖到到最底部,能看见最后面的项目。请问这是怎么回事,是不是我设置了项目高度后,滚动条没有刷新,没有重新计算比例?应该怎么改?
第二个问题是:我将项目前的图标的背景色改为透明,但图标背景上有一些黑点(图标的背景色是黑色的)。好像是背景色没有完全被设置为透明。应该怎么办?

------解决方案--------------------
同样不知道