自绘控件CTreeCtrl父子项不等高产生滚动条的问题
由于ctreectrl中的父子项被我自绘成不等高了,效果还不错,但是也产生了一些问题。
消息反射:ON_NOTIFY_REFLECT(NM_CLICK, OnNMClick)
程序初始化时,父项不展开,没有滚动条显示。
首先,单击一个父项,展开该父项的子项,重新设置滚动条的范围,SetScrollInfo,返回为true,
其后,在OnVScroll,OnMouseWheel时,调用GetScrollInfo,得到的值居然不是刚刚设置值,何解??
由于子项被显示,滚动条也显示出来了。这时,如果我再其中任意一项,再操作滚动条,刚能正确得到滚动条的值。
我的结论是:在滚动条没显示出来之前,SetScrollInfo是没有任何效果的。不知道这个结论是否正确,如果正确,那么,有什么消息可以知道滚动条已经显示出来了呢?这样我就可以在滚动条显示出来之后,再设置其值。