亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch21.htm

?? 24小時精通VC
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<H4><FONT COLOR="#000077">TYPE: Listing 21.7. Printing a header and text using theOnPrint function.</FONT></H4><PRE><FONT COLOR="#0066FF"><TT>void CMFCPrintView::OnPrint(CDC* pDC, CPrintInfo* pInfo)</TT><TT>{</TT><TT>    CPoint      pt( 5000, -7000 );</TT><TT>    TEXTMETRIC  tm;</TT><TT>    //Since the DC has been modified, it's always a good idea to reset</TT><TT>    //the mapping mode, no matter which one you use. In our case, since</TT><TT>    //we use MM_TWIPS, we have to reset the mapping mode for each page.</TT><TT>    pDC-&gt;SetMapMode( MM_TWIPS );</TT><TT>    PrintHeader( pDC );</TT><TT>    CFont* pOldFont = pDC-&gt;SelectObject( m_pFntBold );</TT><TT>    pDC-&gt;GetTextMetrics( &amp;tm );</TT><TT>    int cyText = tm.tmHeight + tm.tmExternalLeading;</TT><TT>    m_nCurrentPrintedPage++;</TT><TT>    pDC-&gt;TextOut( pt.x, pt.y, &quot;Hello Printer!!!&quot; );</TT><TT>    pt.y += cyText;</TT><TT>    CString  szPageInfo;</TT><TT>    szPageInfo.Format( TEXT(&quot;Page number %d&quot;),</TT><TT>                       m_nCurrentPrintedPage );</TT><TT>    pDC-&gt;TextOut( pt.x, pt.y, szPageInfo );</TT><TT>    pDC-&gt;SelectObject( pOldFont );</TT><TT>    PrintFooter( pDC );</TT><TT>}</TT> </FONT></PRE><P>Listing 21.8 provides the source code used to print the header and footer. Addthese two functions to the <TT>MFCPrintView.cpp</TT> source file.<H4><FONT COLOR="#000077">TYPE: Listing 21.8. Printing the header and footer.</FONT></H4><PRE><FONT COLOR="#0066FF"><TT>void CMFCPrintView::PrintFooter( CDC* pDC )</TT><TT>{</TT><TT>    ASSERT( pDC );</TT><TT>    TEXTMETRIC  tm;</TT><TT>    CPoint  pt( 0, -14400 );</TT><TT>    //Select the smaller font used for the file name.</TT><TT>    ASSERT( m_pFntHighlight );</TT><TT>    CFont* pOldFont = pDC-&gt;SelectObject( m_pFntHighlight );</TT><TT>    ASSERT( pOldFont );</TT><TT>    pDC-&gt;GetTextMetrics( &amp;tm );</TT><TT>    int cyText = tm.tmHeight + tm.tmExternalLeading;</TT><TT>    // Print the underline bar. This is the same pen used to draw</TT><TT>    // black lines in the control. 10000 twips is about 7 inches or so.</TT><TT>    CPen* pOldPen = pDC-&gt;SelectObject( &amp;m_penBlack );</TT><TT>    ASSERT( pOldPen );</TT><TT>    pt.y -= (cyText / 2);</TT><TT>    pDC-&gt;MoveTo( pt );</TT><TT>    pDC-&gt;LineTo( 10000, pt.y );</TT><TT>    pt.y -= cyText;</TT><TT>    pDC-&gt;TextOut( pt.x, pt.y, TEXT(&quot;Every page needs a footer&quot;) );</TT><TT>    // Restore GDI objects.</TT><TT>    pDC-&gt;SelectObject( pOldFont );</TT><TT>    pDC-&gt;SelectObject( pOldPen );</TT><TT>}</TT><TT>void CMFCPrintView::PrintHeader( CDC* pDC )</TT><TT>{</TT><TT>    ASSERT( pDC );</TT><TT>    TEXTMETRIC  tm;</TT><TT>    CPoint      pt( 0, 0 );</TT><TT>    // Select the banner font, and print the headline.</TT><TT>    CFont* pOldFont = pDC-&gt;SelectObject( m_pFntBanner );</TT><TT>    ASSERT( pOldFont );</TT><TT>    pDC-&gt;GetTextMetrics( &amp;tm );</TT><TT>    int cyText = tm.tmHeight + tm.tmExternalLeading;</TT><TT>    pt.y -= cyText;</TT><TT>    pDC-&gt;TextOut( pt.x, pt.y, &quot; Teach Yourself Visual C++ in 24 Hours&quot; );</TT><TT>    // Move down one line, and print and underline bar. This is the same</TT><TT>    // pen used to draw black lines in the control. 10000 twips is about</TT><TT>    // 7 inches or so.</TT><TT>    CPen* pOldPen = pDC-&gt;SelectObject( &amp;m_penBlack );</TT><TT>    ASSERT( pOldPen );</TT><TT>    pt.y -= cyText;</TT><TT>    pDC-&gt;MoveTo( pt );</TT><TT>    pDC-&gt;LineTo( 10000, pt.y );</TT><TT>    // We move down about 1/2 line, and print the report type using the</TT><TT>    // smaller font.</TT><TT>    VERIFY( pDC-&gt;SelectObject( m_pFntHighlight ) );</TT><TT>    pDC-&gt;GetTextMetrics( &amp;tm );</TT><TT>    cyText = tm.tmHeight + tm.tmExternalLeading;</TT><TT>    pt.y -= (cyText / 2);</TT><TT>    pDC-&gt;TextOut( pt.x, pt.y, &quot;Printing Demonstration&quot; );</TT><TT>    // Restore GDI objects.</TT><TT>    pDC-&gt;SelectObject( pOldFont );</TT><TT>    pDC-&gt;SelectObject( pOldPen );</TT><TT>}</TT></FONT></PRE><H3><FONT COLOR="#000077"><B>Using the <TT>OnEndPrinting</TT> Function to ReleaseResources</B></FONT></H3><P>The <TT>OnEndPrinting</TT> function is called once per print job, but only ifthe <TT>OnBeginPrinting</TT> function has been called. Use this function to releasethe resources allocated in <TT>OnBeginPrinting</TT>.<BLOCKQUOTE>	<P><HR><B> </B><FONT COLOR="#000077"><B>CAUTION:</B></FONT><B> </B>You must match all of	your allocations made in <TT>OnBeginPrinting</TT> with deallocations in <TT>OnEndPrinting</TT>.	If you don't, you will get a memory or resource leak. <HR></BLOCKQUOTE><P>Listing 21.9 provides the source code for the <TT>OnEndPrinting</TT> functionused in <TT>MFCPrintView</TT>. As in the <TT>OnBeginPrinting</TT> function presentedin Listing 21.5, AppWizard comments out the <TT>pDC</TT> and <TT>pInfo</TT> parameters.If you use these parameters, you must remove the comments.<H4><FONT COLOR="#000077">TYPE: Listing 21.9. Releasing resources in the OnEndPrintingfunction.</FONT></H4><PRE><FONT COLOR="#0066FF"><TT>void CMFCPrintView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)</TT><TT>{</TT><TT>    delete m_pFntBold;</TT><TT>    delete m_pFntBanner;</TT><TT>    delete m_pFntHighlight;</TT><TT>    // Since the destructor also deletes these fonts, we have</TT><TT>    // to set pointers to 0 to avoid dangling pointers and exceptions</TT><TT>    // generated by invoking delete on a non-valid pointer.</TT><TT>    m_pFntBold = 0;</TT><TT>    m_pFntBanner = 0;</TT><TT>    m_pFntHighlight = 0;</TT><TT>    CView::OnEndPrinting(pDC, pInfo);</TT><TT>}</TT> </FONT></PRE><P>Compile and run the Print project, and send the output to the printer using eitherthe File menu or the toolbar icon. Send the sample printout pages to the printer.<H2><FONT COLOR="#000077"><B>Summary</B></FONT></H2><P>In this hour you learned about the print functions and support offered by MFCand the Document/View architecture. You also created a small sample program thatsent three pages of text to the printer.<H2><FONT COLOR="#000077"><B>Q&amp;A</B></FONT></H2><DL>	<DD><B>Q How can I draw graphics such as rectangles and ellipses on my printouts?</B><BR>	<BR>	<B>A</B> The same way that you draw them to the screen--you can use all the basic	GDI functions when printing; this includes <TT>Ellipse</TT> and <TT>Rectangle</TT>.<BR>	<BR>	<B>Q How can I change my printout to have landscape instead of portrait orientation?</B><BR>	<BR>	<B>A</B> To change the page orientation to landscape, you must change a printing	attribute attached to the device context. Due to minor differences in the way in	which Windows 95 and Windows NT handle printing details, this must be done for each	page during the <TT>OnPrepareDC</TT> function. Add the following code at the top	of <TT>CMFCPrintView::OnPrepareDC</TT>:</DL><BLOCKQUOTE>	<PRE><FONT COLOR="#0066FF"><TT>if(pDC-&gt;IsPrinting())</TT><TT>{</TT><TT>    LPDEVMODE  pDevMode;</TT><TT>    pDevMode = pInfo-&gt;m_pPD-&gt;GetDevMode();</TT><TT>    pDevMode-&gt;dmOrientation = DMORIENT_LANDSCAPE;</TT><TT>    pDC-&gt;ResetDC(pDevMode);</TT><TT>}</TT></FONT></PRE></BLOCKQUOTE><PRE><FONT COLOR="#0066FF"><TT></TT></FONT></PRE><H2><FONT COLOR="#000077"><B>Workshop</B></FONT></H2><P>The Workshop is designed to help you anticipate possible questions, review whatyou've learned, and begin thinking ahead to putting your knowledge into practice.The answers to the quiz are in Appendix B, &quot;Quiz Answers.&quot;<H3><FONT COLOR="#000077"><B>Quiz</B></FONT></H3><DL>	<DD>1. How can you determine whether a printer supports <TT>BitBlt</TT> operations?<BR>	<BR>	2. What are the five MFC view functions that are most commonly overridden for printing?<BR>	<BR>	3. Which MFC view functions are called once for every printed page, and which functions	are called once per print job?<BR>	<BR>	4. What class is used to store information about the state of a print job?<BR>	<BR>	5. Which view function is used to allocate resources used to render the printout?<BR>	<BR>	6. Approximately how many twips are in an inch?<BR>	<BR>	7. What <TT>CPrintInfo</TT> member variable must be set for multiple page printouts?<BR>	<BR>	8. When using the <TT>MM_TWIPS</TT> mapping mode, which direction is positive: up	or down?<BR>	<BR>	9. When using the <TT>MM_TWIPS</TT> mapping mode, which direction is positive: left	or right?<BR>	<BR>	10. Which MFC view function should be used to release resources allocated for printing?</DL><H3><FONT COLOR="#000077"><B>Exercises</B></FONT></H3><DL>	<DD>1. Modify the MFCPrint project so that it prints the page number at the foot	of each page.<BR>	<BR>	2. Modify the MFCPrint project so that it prints the time printed at the top of each	page.<FONT COLOR="#000077"></FONT></DL><CENTER><P><HR><A HREF="../ch20/ch20.htm"><IMG SRC="../button/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../ch22/ch22.htm"><IMGSRC="../button/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"BORDER="0"></A><A HREF="../index.htm"><IMG SRC="../button/contents.gif" WIDTH="128"HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> <BR><BR><BR><IMG SRC="../button/corp.gif" WIDTH="284" HEIGHT="45" ALIGN="BOTTOM" ALT="Macmillan Computer Publishing USA"BORDER="0"></P><P>&copy; <A HREF="../copy.htm">Copyright</A>, Macmillan Computer Publishing. Allrights reserved.</CENTER></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品国产精品| 亚洲天堂中文字幕| 综合欧美亚洲日本| 美女视频黄 久久| 色综合久久综合网97色综合| 精品国偷自产国产一区| 一区二区三区四区视频精品免费 | 岛国精品一区二区| 日韩一区二区不卡| 国产一区二区三区av电影| 欧美精品一级二级| 亚洲精品老司机| av一区二区三区四区| 国产人成亚洲第一网站在线播放| 免费高清在线一区| 欧美网站大全在线观看| 亚洲视频每日更新| 成人免费黄色在线| 欧美精品一区二区三区一线天视频| 亚洲国产成人porn| 欧美午夜精品免费| 亚洲午夜精品久久久久久久久| 成人app在线| 久久精品夜夜夜夜久久| 久久电影国产免费久久电影| 91精品国产综合久久婷婷香蕉| 亚洲伊人色欲综合网| 在线观看亚洲一区| 亚洲影院久久精品| 欧美日韩国产精选| 石原莉奈在线亚洲三区| 国精产品一区一区三区mba桃花 | 亚洲卡通欧美制服中文| 成人午夜大片免费观看| 久久精品一二三| 国产成人在线色| 久久亚洲春色中文字幕久久久| 美女网站视频久久| 日韩午夜在线观看| 久久精品国产亚洲aⅴ| 精品久久久久久久久久久久包黑料 | 一区二区三区毛片| 欧美曰成人黄网| 丝瓜av网站精品一区二区| 欧美日韩国产成人在线91| 午夜免费久久看| 日韩欧美一二区| 国产成人av电影在线| 综合久久综合久久| 99精品国产一区二区三区不卡| 中文乱码免费一区二区| 99在线热播精品免费| 一区二区三区四区精品在线视频| 欧美视频日韩视频| 另类调教123区| 国产精品福利在线播放| 在线精品视频一区二区三四| 日产国产欧美视频一区精品| 久久久久国产成人精品亚洲午夜| 成人黄色小视频在线观看| 一区二区在线看| 日韩伦理电影网| 日韩午夜av电影| 日韩制服丝袜先锋影音| 欧美一卡二卡在线观看| 九九精品视频在线看| 国产精品久久久久精k8 | 成人免费黄色大片| 亚洲欧美电影一区二区| 日韩一卡二卡三卡四卡| 成人免费视频一区二区| 午夜精品久久久久| 日本一区二区三区四区在线视频| 欧美色图天堂网| 国产一区二区三区蝌蚪| 亚洲一区在线播放| 国产精品三级av| 91精品国产91久久综合桃花| 丁香激情综合国产| 久久99国产精品免费| 洋洋成人永久网站入口| 久久久亚洲高清| 91精品国产综合久久精品图片| 91在线云播放| 国产成人精品免费一区二区| 五月综合激情日本mⅴ| 国产精品久久久久9999吃药| 国产日韩欧美不卡| 中文字幕亚洲不卡| 亚洲美女屁股眼交| 日韩欧美国产精品| 日韩久久免费av| 日韩欧美另类在线| 欧美色网一区二区| 不卡一二三区首页| 久久精品人人做人人爽人人| 欧美成人一区二区三区在线观看| 日韩一二三区不卡| 成熟亚洲日本毛茸茸凸凹| 9i在线看片成人免费| 国产成人精品一区二| 国产乱淫av一区二区三区| 一区二区三区在线高清| 亚洲激情自拍视频| 欧美亚洲愉拍一区二区| 国产99一区视频免费 | 夜夜亚洲天天久久| 日韩美女视频一区二区| 国产精品女主播av| 国产精品人妖ts系列视频| 国产日韩欧美a| 久久久夜色精品亚洲| 精品成人在线观看| 精品国产三级电影在线观看| 日韩美女一区二区三区| 国产日韩欧美亚洲| 久久久久99精品一区| 精品成人私密视频| 国产亚洲精品福利| 欧美极品美女视频| 日韩毛片视频在线看| 亚洲免费av高清| 午夜欧美在线一二页| 日韩av电影免费观看高清完整版| 免费欧美日韩国产三级电影| 青青草97国产精品免费观看无弹窗版| 午夜不卡在线视频| 蜜桃免费网站一区二区三区| 韩国视频一区二区| av电影在线不卡| 欧美制服丝袜第一页| 欧美一区二区三区影视| 欧美精品一区二区三区视频| 中文字幕免费不卡| 亚洲激情第一区| 奇米777欧美一区二区| 久久不见久久见免费视频1| 国产精品91xxx| 一本色道亚洲精品aⅴ| 欧美精品在欧美一区二区少妇| 日韩精品一区国产麻豆| 国产欧美日韩三区| 亚洲一区二区在线视频| 精品一区二区免费在线观看| 风流少妇一区二区| 欧美久久一二区| 久久精品亚洲精品国产欧美kt∨| 亚洲欧美综合另类在线卡通| 性欧美疯狂xxxxbbbb| 国产一区二区日韩精品| 在线视频你懂得一区二区三区| 欧美电影免费观看高清完整版在| 国产精品视频一区二区三区不卡 | 国产女人18水真多18精品一级做| 樱桃国产成人精品视频| 国产乱码一区二区三区| 在线观看国产日韩| 久久久三级国产网站| 一区二区三区在线视频免费 | 久久综合给合久久狠狠狠97色69| 中文字幕一区在线| 美女www一区二区| 色综合一个色综合| 欧美不卡在线视频| 亚洲午夜国产一区99re久久| 国产在线播放一区二区三区| 欧美三级资源在线| 中文字幕高清一区| 国产主播一区二区| 欧美高清www午色夜在线视频| 中文字幕一区二区日韩精品绯色| 久久成人av少妇免费| 欧美亚洲自拍偷拍| 中文字幕亚洲区| 国产精品18久久久久久vr| 欧美精品第1页| 亚洲自拍欧美精品| 色综合久久中文综合久久牛| 中文字幕乱码一区二区免费| 国产乱码精品一区二区三区五月婷| 欧美性猛交xxxx黑人交| 亚洲天堂久久久久久久| 国产成人免费视频网站| xf在线a精品一区二区视频网站| 日韩国产高清影视| 欧美三级欧美一级| 亚洲一卡二卡三卡四卡| 成人激情小说网站| 国产精品三级av在线播放| 国产成人av一区| 久久麻豆一区二区| 精品一区二区在线免费观看| 精品久久久网站| 精久久久久久久久久久| 欧美成人r级一区二区三区| 奇米精品一区二区三区在线观看一| 7777精品伊人久久久大香线蕉经典版下载| 亚洲激情网站免费观看| 日本久久一区二区三区| 一区二区日韩av|