《MFC Windows程序设计》中Accel的改进



         第二章的Accel程序有个小问题,就是当你把滚动条流动到一个位置后,改装窗口的大小,不会保存当前的位置,而是重新回到窗口的左上角。这个不符合我们的习惯。应该是不管窗口如何变化,窗口左上角的内容是不变的。仔细看了下Accel这个程序,修改下就可以实现这个功能。

        原程序在

void CMainWindow::OnSize (UINT nType, int cx, int cy)函数是把流动条的位置归零的,这就是问题所在。在这个函数是不对滚动条的位置进行变化就能实现文中的效果。但原程序只在这个函数中对“m_nHScrollPos”和“m_nVScrollPos”初始化,所以我们需要把初始化的工作放在函数int CMainWindow::OnCreate (LPCREATESTRUCT lpCreateStruct)中就可以了。

    修改后运行下,搞定!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章