Displaying a file With Scrolling:
To display a file with the scrolling option allows the steps as shown below:
1. Generate a SDI application.
2. In the Step 6 of the Appwizard inherit the CScrollView as the base class scrolling code will be inserted by the Appwizard in on initial update () function in the View implementation file.
3. Type the coding as shown beow in the Serialize else part.
unsigned int n=ar.GetFile()->GetLength();
str=new char[n];
ar.Read(str,n);
UpdateAllViews(NULL);
Generate a global string char * str in the document class.
To generate the global data click on the ClassView tabpage.
Expand the tree control of the classes.
Choose the CStoreDoc class
Right click and choose the add member variable
Specify the type as the char and variable name as the *str
4. Type the below code in OnDraw() in View.cpp
pDC->DrawText(pDoc->str,CRect(0,0,1000,1000),DT_LEFT);
CScrollDoc* pDoc = GetDocument();
The GetDocument() function returns a pointer to the document class using that we access the member str defined in the document class.
5. Override the OnUpdate() function in the view class.
To Override the OnUpdate(), the function invoke the class wizard by using CTRL+W. For the view object id click OnUpdate() under messages and then say add function. Move the scrolling code from an initial update() to OnUpdate(). YourOnUpdate() function should look as shown below:
OnUpdate()
{
CClientDC dc(this);
CScrollDoc* pDoc = GetDocument();
int i=dc.DrawText(pDoc->str,CRect(0,0,1000,1000),DT_CALCRECT);
The height of the rectangle is returned by DT_CALCRECT containing the text and it doesn't draw.
// scrolling code to CScrollView
CSize sizeTotal;
// TODO: compute the total size of this view
sizeTotal.cx = sizeTotal.cy = i;
SetScrollSizes(MM_TEXT, sizeTotal);
Invalidate(TRUE);
}
The UpDateAllViews(NULL) in the Document implementation file calls the OnUpdate() function in the view class.Control gets transferred to OnDraw() due to the Invalidate(TRUE).
6. Construct and execute the project.
7. The File dialog that is a modal dialog would be displayed.
8. Choose the File Open and select the file by clicking on the file and then say open.
9. Now you'll examine that the scroll bar is introduced and you can scroll and see all the pages.