先不做任何操作,使用GeTClientRect获得了TreeView没有出现滚动条的客户区的矩形,然后展开TreeView获得了出现滚动条后客户区的矩形,发现客户区的矩形宽度缩小了17。我觉得是不是因为非客户区的出现使客户区的宽度变小。
那么,我就使用GetWindowLong获取了TreeView的样式,再将其中的WS_VSCROLL和WS_HSCROLL两个样式取消掉,再使用SetWindowLong将样式设置回去了。然后再使用GetWindowRect获取了整个TreeView的矩形,用GetWindowDC在右边绘制了一条滚动条大小的黑色矩形,但是这个绘制的矩形总是现实不完全或者就干脆不显示。为什么。
 
PS:去掉WS_VSCROLL和WS_HSCROLL之后,ClientRect就不会改变了。
 
我参考了http://blog.csdn.net/superarhow/article/details/984338 他的思路,里面第三段他说的“CLIP掉滚动条的区域”具体怎么做?