第二章的Accel程序有個小問題,就是當你把滾動條流動到一個位置後,改裝窗口的大小,不會保存當前的位置,而是重新回到窗口的左上角。這個不符合我們的習慣。應該是不管窗口如何變化,窗口左上角的內容是不變的。仔細看了下Accel這個程序,修改下就可以實現這個功能。
原程序在
void CMainWindow::OnSize (UINT nType, int cx, int cy)函數是把流動條的位置歸零的,這就是問題所在。在這個函數是不對滾動條的位置進行變化就能實現文中的效果。但原程序只在這個函數中對“m_nHScrollPos”和“m_nVScrollPos”初始化,所以我們需要把初始化的工作放在函數int CMainWindow::OnCreate (LPCREATESTRUCT lpCreateStruct)中就可以了。
修改後運行下,搞定!!