CScrollView problems
Veeraraghavan -- veera@hiso.honeywell.soft.net Wednesday, January 24, 1996 Hello, I have an application written in MFC and VC++ 2.2 where the view is derived from CScrollView instead of CView and looks like Excel Spreadsheet.In addition, there are some static controls above the headers.My problem is that when the view is scrolled, I want the static headers and controls to remain at the same place(meaning, I do not want some portion of the view not scroll).I tried SetViewPortOrigin etc but did not work. Thanks for your help in advance. veera veera@honeywell.soft.net
Mike Blaszczak -- mikeblas@msn.com Friday, January 26, 1996 Veeraraghavan wrote: > I have an application written in MFC and VC++ 2.2 where the view > is derived from CScrollView instead of CView and looks like Excel > Spreadsheet.In addition, there are some static controls above the > headers.My problem is that when the view is scrolled, I want the static > headers and controls to remain at the same place(meaning, I do not want > some portion of the view not scroll) You have two choices. One, you can simply always repaint your headers at the same spot regardless of where the window is scrolled. You can do this using simple math based on the scrolled position available to you in the CScrollView, or you can do it by painting in OnPrepareDC _before_ the scroll view has had a chance to doctor the origin of the view. (You'll need to set up the origin of the DC yourself.) Or, two, you could do a lot of work to exclude the region occupied by your headers from the scrolling region. You might do this by changing the way the view sizes itself in the frame and letting the frame actually paint the headers, or you could do it by setting up an exclude region for the rest of the window. > I tried SetViewPortOrigin etc but did not work. What, exactly, about SetViewPortOrigin() didn't work? .B ekiM TCHAR szDisc[] = _T("These words are my own; I do not speak on behalf of Microsoft.");
jshao@pluto.dspt.com Monday, January 29, 1996 Veeraraghavan wrote: > I have an application written in MFC and VC++ 2.2 where the view > is derived from CScrollView instead of CView and looks like Excel > Spreadsheet.In addition, there are some static controls above the > headers.My problem is that when the view is scrolled, I want the static > headers and controls to remain at the same place(meaning, I do not want > some portion of the view not scroll) I have done a projet which has the same requirement. I used splitter-view to do it. That is, a derived frame-window contains two views, one scroll-view and another is form-view. The form-view contains the controls and non-scrollable text and the scroll-view contains the scrollable text. ------------------------------------- DSP Technology Inc. Ann Arbor, MI (313)-973-7062 ext. 146 Name: James Shao E-mail: jshao@dspt.com Date: 01/29/96 Time: 08:59:25 -------------------------------------
Deepak Saxena -- deepak@ecn.purdue.edu Monday, January 29, 1996 > > > Hello, > > I have an application written in MFC and VC++ 2.2 where the view > is derived from CScrollView instead of CView and looks like Excel > Spreadsheet.In addition, there are some static controls above the > headers.My problem is that when the view is scrolled, I want the static > headers and controls to remain at the same place(meaning, I do not want > some portion of the view not scroll).I tried SetViewPortOrigin etc but > did not work. > Thanks for your help in advance. > > veera > veera@honeywell.soft.net > Why not use a separate window that's aligned right above the view and has no border? This way it will look like one unit to the user but won't be messed with when the user scrolls. -- Deepak Saxena -- deepak@ecn.purdue.edu -- http://cernan.ecn.purdue.edu/~deepak Pinky, are you pondering what I'm pondering? Uh, I think so, Brain, but burlap chafes me so.
| Вернуться в корень Архива |