The printing method you have learned to explore everyone's welcome, readers have developed their own opinion
The resulting print procedures are not very difficult, as long as the Windows font size and
Solving the work of the onDraw function and the work that should be made in the onprint function can make a more satisfactory program.
The following is the step of the program generated:
(1) Use AppWizard to create a PRT-view. note:
1. CLASS NAME in Classes Select Class Name in Classes
The ViewDoc class is changed to CSONGDOC class, Prtvdoc. H and PRTVDOC. CPP is changed to S, respectively
ONGDOC. H and songdoc. CPP; depending on the VIEW of PRTVVW. H and PRTVVW. CPP respectively
Change to Songvw. H and songvw. CPP (so the purpose is to make the program's readability
Ok, because the content we have to print is a lyrics; in addition, sangvw. CPP base
The class is changed to a CScrollView class with a scroll bar. 2. Select PRIN in Option Selection
Ting and pre -view options.
(2) Use classwizard to join the WM-CREATE message control letter for CSONGVW classes
number.
(3) Open SongDoc. H file, join
PUBLIC:
CStringArray M-SongArray;
(4) Open SongDoc. CPP file, add to the on -NewDocument function
The following sequence:
1 BOOL CSONGDOC :: OnNewDocument ()
2 {
3 if (! Cdocument :: onnewdocument ())
4 returnaf;
5 m-songArray. Setsize (13);
6 m-songArray [0] = "Tell Me How long, Can We go in th
IS WAY
7 m-songArray [1] = "Just to be strong";
8 m-songArray [2] = "We Talk THROUGH THE NIGHT";
9 m-songArray [3] = "But Never Reach the Other Side";
10 m-songArray [4] = "We Fill Our Lives";
11 m-songArray [5] = "When all this we need, We Hold W
Ithin outs ";
12 m-songArray [6] = "WHEN WILL We Find, Our Way Out of The Dark";
13 m-songArray [7] = "chorus:"
14 m-songArray [8] = "We know That";
15 m-songArray [9] = "Love is the power, love is the k
EY ";
16 m-songArray [10] = "Love is The Reason, Reason to B
Elieve ";
17 m-songArray [11] = "Love is the answer, WHEN WERE W
e see ";
18 m-songArray [12] = "Love is the power, love is the
Power, ";
19 Return True;
20 void csongdoc :: Serialize (CARCHIVE & A)
M-SongArray. Serialize (ar):}
(5) Open Songvw. CPP, because we use scroll windows, you must set up
Send the size of the window, the size of the page, etc. Delete the content of the ONLNITIALUPDATE function
. Add to the oncreate function
1 int Csongview :: oncreate (lpcreatestruct lpcreate str
UCT)
2 {if (cscrollview :: oncreate (lpcreatestructure) == -
1)
3 retURN -1;
4 CSIZE TOTALSIZE = CSIZE (11520, 15120);
5 csize pagesize = csize (Totalsize.cx/2, TOTALSIZE.CY
/2);
6 CSIZE LINESIZE = CSIZE (Totalsize.cx/100, TOTALSIZE.
CY / 100);
7 Setscrollsizes (MM-Twips, Totalsize, PageSize, Linsiz
e);
8 return 0;
Add the following blocks in the onDraw function:
1 void csongview :: OnDraw (CDC * PDC) 2 {INT I, J, NHEIGHT
3 char Temp [33];
4 cfont font;
5 TextMetric TM;
6 csongdoc * pdoc = getDocument ();
7 PDC-> Moveto (CPOINT (0, 0));
8 PDC-> LineTo (CPOINT (11505, 0));
9 PDC-> Lineto (CPOINT (11505, -15105);
10 pdc-> lineto (cpoint (0, -15105));
11 PDC-> Lineto (CPOINT (0, 0));
12 // Draw External Frame of Article
13 for (i = 0; i <= 8; i = i 1) {
14 WSPRINTF (TEMP, "% 02d", i);
15 PDC-> Textout (i * 1440, 0, temp);
16 for (i = 0; i <= 10; i )
17 {WSPRINTF (TEMP, "% 02d", i);
18 PDC-> TextOut (0, -i * 1440, temp):}
19 font. CreateFont (-200, 0, 0, 0, 400, False, False,
0, ANSI-CHARSET, OUT-Default-Precis, Clip-Default-Preci
S, Default-Quality, Default-Pitch | FF-Roman, "TIMES NEW
Roman ");
20 cfont * PoldFont = (cfont *) PDC-> SelectObject (& f
Ont);
21 PDC-> GetTextMetrics (& TM); 22 NHEIGHT = Tm. Temheight TM. TMEXTERNALLEADING;
23 j = pdoc-> m-songArray. Getsize ();
24 for (i = 0; i 25 PDC-> Textout (720, -i * NHEIGHT-720, PDOC-> M-SO NGARRAY [1]); 26} 27 PDC-> SelectObject (PoldFont); Add the following blocks in the onprepareprinting function: Bool csongview :: onprepareprinting (CPrintlnfo * PLNF o) // Default Preperation PLNFO-> SetMaxPage (1); Return doprepareprinting (plnfo); } (6) Build This program, run it, you can see this lyrics that only account for one page.