比如一个TreeView, 原来没有ScrollBar的, 当某一个节点展开后或者Insert了很多Items以后ScrollBar出现了, 有什么消息通知我ScrollBar已经创建了吗?
我试过在ScrollBar没出现之前用GetScrollBarCtrl()返回的是NULL, 说明ScrollBar不是一开始就创建好的.
我试过在ScrollBar没出现之前用GetScrollBarCtrl()返回的是NULL, 说明ScrollBar不是一开始就创建好的.
也可以在Expand事件中检测GetScrollBarCtrl()的返回值
{
ASSERT(nBar == SB_HORZ || nBar == SB_VERT);
if (GetStyle() & ((nBar == SB_HORZ) ? WS_HSCROLL : WS_VSCROLL))
{ // it has a regular windows style scrollbar (no control)
return NULL;
}
......
}如果你的CTreeView没有Splitter或作为sibling的SCrollBarCtrl,这个函数只是返回NULL。关键问题就是我们看到的CTreeView中的那个SCrollBar不被认为是个控件!
这里有问必答
http://systemer.51.net/cgi-bin/leoboard.cgi
希望你能在这里找到你满意的答案!