在某些应用中,在改变窗口大小后,需要精确跟踪滚动条位置。这样可以实现改变窗口大小后的视图中心不变等功能。
但在客户区创建前窗口类会多次调用OnSize(),如果此时调用GetScrollPosition()会出现访问错误。
解决步骤:
1. 声明一个BOOL m_bScrollCreated,在构造函数中赋值FALSE;
2. 在OnInitialUpdate()中赋值,m_bScrollCreated=TRUE;
3. 在OnSize()中判断m_bScrollCreated==TRUE时,调用GetScrollPosition()
SavageConan
2007.07.18