ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
Ò»ÊÀÊé³Ç ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ)-µÚ167ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#07¡¡¡¡bAbort¡¡=¡¡FALSE£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#08¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#09¡¡¡¡Escape£¨hPr£»¡¡STARTDOC£»¡¡4£»¡¡¡¨PrntFile¡¡text¡¨£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#10¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#11¡¡¡¡//¡¡É趨Printing¡¡¶Ô»°¿ò¼°Æä´°¿Úº¯Êý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#12¡¡¡¡lpPrintingDlg¡¡=¡¡¡¡MakeProcInstance£¨PrintingDlg£»¡¡hInst£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#13¡¡¡¡hPrintingDlgWnd¡¡=¡¡CreateDialog£¨hInst£»¡¡¡¨PrintingDlg¡¨£»¡¡hWnd£»¡¡lpPrintingDlg£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#14¡¡¡¡ShowWindow¡¡£¨hPrintingDlgWnd£»¡¡SW_NORMAL£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#15¡¡¡¡EnableWindow£¨hWnd£»¡¡FALSE£©£»¡¡//¡¡ÁîÆ丸´°¿Ú¡¡£¨Ò²¾ÍÊdzÌÐòµÄÖ÷´°¿Ú£©¡¡³ýÄÜ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#16¡¡¡¡SetCursor£¨hSaveCursor£©£»¡¡¡¡¡¡¡¡¡¡//¡¡Êó±ê¹â±êÐÎ×´»¹Ô­¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#17¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#18¡¡¡¡GetTextMetrics£¨hPr£»¡¡&TextMetric£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#19¡¡¡¡LineSpace¡¡=¡¡TextMetric¡£tmHeight¡¡£«¡¡TextMetric¡£tmExternalLeading£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#20¡¡¡¡nPageSize¡¡=¡¡GetDeviceCaps¡¡£¨hPr£»¡¡VERTRES£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#21¡¡¡¡LinesPerPage¡¡=¡¡nPageSize¡¡/¡¡LineSpace¡¡1£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#22¡¡¡¡dwLines¡¡=¡¡SendMessage£¨hEditWnd£»¡¡EM_GETLINECOUNT£»¡¡0£»¡¡0L£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#23¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#24¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#25¡¡¡¡for¡¡£¨dwIndex¡¡=¡¡IOStatus¡¡=¡¡0£»¡¡dwIndex¡¡¡¶¡¡dwLines£»¡¡dwIndex£«£«£©¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#26¡¡¡¡¡¡¡¡¡¡¡¡pLine£§0£§¡¡=¡¡128£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#27¡¡¡¡¡¡¡¡¡¡¡¡pLine£§1£§¡¡=¡¡0£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#28¡¡¡¡¡¡¡¡¡¡¡¡LineLength¡¡=¡¡SendMessage£¨hEditWnd£»¡¡EM_GETLINE£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#29¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨WORD£©dwIndex£»¡¡£¨LONG£©£¨£¨LPSTR£©pLine£©£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#30¡¡¡¡¡¡¡¡¡¡¡¡TextOut£¨hPr£»¡¡0£»¡¡CurrentLine*LineSpace£»¡¡£¨LPSTR£©pLine£»¡¡LineLength£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#31¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨£«£«CurrentLine¡¡¡·¡¡LinesPerPage¡¡£©¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#32¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#33¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IOStatus¡¡=¡¡Escape£¨hPr£»¡¡NEWFRAME£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#34¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨IOStatus=¡¡0¡¡&&¡¡£¡bAbort£©¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#40¡¡¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡NEWFRAME£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#41¡¡¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡ENDDOC£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#42¡¡¡¡£ý¡¡



668¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡731¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡12¡¡Õ¡¡¡¡¡¡¡¡ÁÐÓ¡ÅcîAÓ£§¡¡



¡¡¡¡¡¡¡¡¡¡#43¡¡

¡¡¡¡¡¡¡¡¡¡#44¡¡¡¡EnableWindow£¨hWnd£»¡¡TRUE£©£»¡¡

¡¡¡¡¡¡¡¡¡¡#45¡¡

¡¡¡¡¡¡¡¡¡¡#46¡¡¡¡DestroyWindow£¨hPrintingDlgWnd£©£»¡¡

¡¡¡¡¡¡¡¡¡¡#47¡¡¡¡FreeProcInstance£¨lpPrintingDlg£©£»¡¡

¡¡¡¡¡¡¡¡¡¡#48¡¡¡¡FreeProcInstance£¨lpAbortProc£©£»¡¡

¡¡¡¡¡¡¡¡¡¡#49¡¡¡¡DeleteDC£¨hPr£©£»¡¡



¡¡¡¡¡¡¡¡¡¡ÉÏÊö¸÷¸öEscape¡¡µ÷Óã¬ÊÇÔÚWindows¡¡3¡£0¡¡ÏµĴ«Í³×÷·¨£¬ÔÚWindows¡¡3¡£1¡¡¡¡ÒÔ¼°Win32¡¡Ö®¡¡



¡¡¡¡¡¡¡¡¡¡ÖÐÓжÔÓ¦µÄAPI¡¡¡¡º¯ÊýÈçÏ£º¡¡



¡¡¡¡¡¡¡¡¡¡Windows¡¡3¡£0¡¡×÷·¨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Windows¡¡3¡£1¡¡×÷·¨¡¡



¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡SETABORTPROC£»¡¡¡£¡£¡££©¡¡SetAbortProc£¨HDC¡¡hdc£»¡¡ABORTPROC¡¡lpAbortProc£©¡¡



¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡STARTDOC£»¡¡¡£¡£¡££©¡¡¡¡¡¡¡¡StartDoc£¨HDC¡¡hdc£»¡¡CONST¡¡DOCINFO*¡¡lpdi£©¡¡



¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡NEWFRAME£»¡¡¡£¡£¡££©¡¡¡¡¡¡¡¡EndPage£¨HDC¡¡hdc£©¡¡



¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡ENDDOC£»¡¡¡£¡£¡££©¡¡¡¡¡¡¡¡¡¡¡¡EndDoc£¨HDC¡¡hdc£©¡¡



MFC¡¡Ô¤ÉèµÄ´òÓ¡»úÖÆ¡¡



¡¡¡¡¡¡¡¡¡¡ºÃÀ²£¬¹ØÓÚ´òÓ¡£¬ÆäʵÓÐÐí¶àÒ»³É²»±äµÄ¶¯×÷£¡ÎªÊ²Ã´¿ª·¢¹¤¾ß²»°ïÎÒÃÇ×öµôÄØ£¿ºÃ±È¡¡



¡¡¡¡¡¡¡¡¡¡Ëµ£¬´ÓWIN¡£INI¡¡¡¡ÖÐÈ¡µÃÄ¿Ç°´òÓ¡»úµÄ×ÊÁÏÈ»ºóÀûÓÃCreateDC¡¡È¡µÃ´òÓ¡»úDC¡¡£¬Óֺñȡ¡



¡¡¡¡¡¡¡¡¡¡ËµÉè¼Æ±ê×¼µÄ¡¾´òÓ¡ÖС¿¶Ô»°¿ò£¬ÒÔ¼°±ê×¼µÄ´òÓ¡ÖжϺ¯ÊýAbortProc¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡ÊÂʵÉÏMFC¡¡¡¡µÄÈ·ÒѾ­°ïÎÒÃÇ×öµôÁËÒ»´ó²¿·ÝµÄ¹¤×÷¡£MFC¡¡¡¡ÒÑÄÚº¬´òÓ¡»úÖÆ£¬ÄÇô½«¡¡



¡¡¡¡¡¡¡¡¡¡Framework¡¡Õû¸öÄÉÈëEXE¡¡ÎļþÖеÄÄ㵱ȻҲ¾Í²»·Ñ´µ»ÒÖ®Á¦µÃµ½ÁË´òÓ¡¹¦ÄÜ¡£Ö»Òª¡¡



¡¡¡¡¡¡¡¡¡¡OnDraw¡¡º¯ÊýÉè¼ÆºÃÁË£¬²»µ«¿ÉÒÔÔÚÆÁÄ»ÉÏÏÔʾ×ÊÁÏ£¬Ò²¿ÉÒÔÔÚ´òÓ¡»úÉÏÏÔʾ×ÊÁÏ¡£ÓС¡



¡¡¡¡¡¡¡¡¡¡Ê²Ã´ÊÇÎÒÃÇÒª¸ºµ£µÄ£¿Ã»ÓÐÁË£¡Framework¡¡´«¸øOnDraw¡¡Ò»¸öDC¡¡£¬ÊÓÇé¿öµÄ²»Í¬Õâ¸ö¡¡



¡¡¡¡¡¡¡¡¡¡DC¡¡¿ÉÄÜÊÇÏÔʾÆÁDC¡¡£¬Ò²¿ÉÄÜÊÇ´òÓ¡»úDC¡¡£¬¶øÄãÖªµÀ£¬Windows¡¡³ÌÐòÖеÄͼÐÎÊä³ö¡¡



¡¡¡¡¡¡¡¡¡¡¶ÔÏóÍêÈ«È¡¾öÓÚDC¡¡£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡669¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡732¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡¡¡¡¡ÉîÈë¡¡¡¡MFC¡¡¡¡³ÌʽÔOÓ‹¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ±Äã¸Ä±ä´°¿Ú´óС£¬²úÉúWM_PAINT¡¡£¬OnDraw¡¡»áÊÕµ½Ò»¸ö¡¸ÏÔʾÆÁDC¡¡¡¹¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ±ÄãÑ¡°´¡¾File/Print¡£¡£¡£¡¡¡¿£¬OnDraw¡¡»áÊÕµ½Ò»¸ö¡¸´òÓ¡»úDC¡¡¡¹¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊýÕÂ֮ǰÌÖÂÛCView¡¡Ê±ÎÒÔø¾­Ìá¹ý£¬OnDraw¡¡ÊÇCView¡¡Àà±ðÖÐ×îÖØÒªµÄ³ÉÔ±º¯Êý£¬Ëù¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓеĻæͼ¶¯×÷¶¼Ó¦¸Ã·ÅÔÚÆäÖС£Çë×¢Ò⣬OnDraw¡¡½ÓÊÜÒ»¸ö¡¸CDC¡¡¶ÔÏóÖ¸Õ롹×öΪËüµÄ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²ÎÊý¡£µ±´°¿Ú½ÓÊÜWM_PAINT¡¡¡¡ÏûÏ¢£¬Framework¡¡¾Íµ÷ÓÃOnDraw¡¡²¢°ÑÒ»¸ö¡¸ÏÔʾÆÁDC¡¡¡¹¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´«¹ýÈ¥£¬ÓÚÊÇOnDraw¡¡Êä³öµ½ÆÁÄ»ÉÏ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Windows¡¡¡¡µÄͼÐÎ×°Öýӿڣ¨GDI¡¡£©ÍêÈ«ÓëÓ²¼þÎ޹أ¬ÏàͬµÄ»æͼ¶¯×÷Èç¹ûË͵½¡¸ÏÔʾÆÁ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DC¡¡¡¹£¬¾ÍÊÇÔÚÆÁÄ»ÉÏ»æͼ£¬Èç¹ûË͵½¡¸´òÓ¡»úDC¡¡¡¹£¬¾ÍÊÇÔÚ´òÓ¡»úÉÏ»æͼ¡£Õâ¸öµÀÀí¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºÜÈÝÒ׾ͽâÊÍÁËΪʲôÄúµÄ³ÌÐò´úÂëûÓÐÈκÎÌØÊ⶯×÷È´¾ß±¸´òÓ¡¹¦ÄÜ£ºµ±Ê¹ÓÃÕß°´Ï¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾File/Print¡¡¡¿£¬application¡¡framework¡¡Ë͸øOnDraw¡¡µÄÊÇÒ»¸ö¡¸´òÓ¡»úDC¡¡¡¹¶ø²»ÔÙÊÇ¡¸ÏÔ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê¾Ä»DC¡¡¡¹¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚMFC¡¡Ó¦ÓóÌÐòÖУ¬View¡¡ºÍapplication¡¡framework¡¡·Ö¹¤ºÏÁ¦Íê³É´òÓ¡¹¤×÷¡£Application¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡framework¡¡µÄÔðÈÎÊÇ£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÔʾ¡¾Print¡¡¡¿¶Ô»°¿ò£¬Èçͼ12¡­1b¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Îª´òÓ¡»ú²úÉúÒ»¸öCDC¡¡¶ÔÏ󡣡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ÷ÓÃCDC¡¡¶ÔÏóµÄStartDoc¡¡ºÍEndDoc¡¡Á½º¯Êý¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÖÐø²»¶ÏµØµ÷ÓÃCDC¡¡¶ÔÏóµÄStartPage¡¡£¬Í¨ÖªView¡¡Ó¦¸ÃÊä³öÄÄÒ»Ò³£»Ò»Ò³´òÓ¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Íê±ÏÔòµ÷ÓÃCDC¡¡¶ÔÏóµÄEndPage¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎÒÃÇ£¨³ÌÐòÔ±£©ÔÚView¡¡¶ÔÏóÉϵÄÔðÈÎÊÇ£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¨Öªapplication¡¡framework¡¡×ܹ²ÓжàÉÙÒ³Òª´òÓ¡¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡application¡¡framework¡¡ÒªÇó´òӡijÌض¨Ò³Ê±£¬ÎÒÃDZØÐ뽫Document¡¡¡¡ÖжÔÓ¦µÄ²¿¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·ÝÊä³öµ½´òÓ¡»úÉÏ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÅäÖûòÊÍ·ÅÈκÎGDI¡¡×ÊÔ´£¬°üÀ¨±Ê¡¢Ë¢¡¢×ÖÐΡ£¡£¡£µÈµÈ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Èç¹ûÐèÒª£¬ËͳöÈκÎescape¡¡Âë¸Ä±ä´òÓ¡»ú״̬£¬ÀýÈç×ßÖ½¡¢¸Ä±ä´òÓ¡·½ÏòµÈµÈ¡£¡¡



670¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡733¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡12¡¡Õ¡¡¡¡¡¡¡¡ÁÐÓ¡ÅcîAÓ£§¡¡



¡¡Ëͳöescape¡¡ÂëµÄ·½Ê½ÊÇ£¬µ÷ÓÃCDC¡¡¶ÔÏóµÄEscape¡¡¡¡º¯Êý¡£¡¡



¡¡ÏÖÔÚÈÃÎÒÃÇ¿´¿´ÕâÁ½×鹤×÷ÈçºÎ½»²æÔÚÒ»Æð¡£ÎªÊµÏÖÉÏÊö¸÷Ïî½»»¥¶¯×÷£¬CView¡¡¶¨ÒåÁË¡¡



¡¡¼¸¸öÏà¹ØµÄ³ÉÔ±º¯Êý£¬µ±ÄãÔÚAppWizard¡¡¡¡ÖÐÑ¡Ôñ¡¾Printing¡¡and¡¡Print¡¡Preview¡¡¡¿Ñ¡ÏîÖ®ºó£¬¡¡



¡¡³ýÁËOnDraw£¬ÄãµÄView¡¡Àà±ðÄÚ»¹±»¼ÓÈëÁËÈý¸öÐéÄ⺯Êý¿Õ¿Ç£º¡¡



¡¡//¡¡in¡¡SCRIBBLEVIEW¡£H¡¡

¡¡class¡¡CScribbleView¡¡£º¡¡public¡¡CScrollView¡¡

¡¡£û¡¡

¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡protected£º¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡virtual¡¡BOOL¡¡OnPreparePrinting£¨CPrintInfo*¡¡pInfo£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡virtual¡¡void¡¡OnBeginPrinting£¨CDC*¡¡pDC£»¡¡CPrintInfo*¡¡pInfo£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡virtual¡¡void¡¡OnEndPrinting£¨CDC*¡¡pDC£»¡¡CPrintInfo*¡¡pInfo£©£»¡¡

¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡£ý£»¡¡



¡¡//¡¡in¡¡SCRIBBLEVIEW¡£CPP¡¡

¡¡BOOL¡¡CScribbleView£º£ºOnPreparePrinting£¨CPrintInfo*¡¡pInfo£©¡¡

¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡default¡¡preparation¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡DoPreparePrinting£¨pInfo£©£»¡¡

¡¡£ý¡¡



¡¡void¡¡CScribbleView£º£ºOnBeginPrinting£¨CDC*¡¡/*pDC*/£»¡¡CPrintInfo*¡¡/*pInfo*/£©¡¡

¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡add¡¡extra¡¡initialization¡¡before¡¡printing¡¡

¡¡£ý¡¡



¡¡void¡¡CScribbleView£º£ºOnEndPrinting£¨CDC*¡¡/*pDC*/£»¡¡CPrintInfo*¡¡/*pInfo*/£©¡¡

¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡TODO£º¡¡add¡¡cleanup¡¡after¡¡printing¡¡

¡¡£ý¡¡



¸ÄдÕâЩº¯ÊýÓÐÖúÓÚÎÒÃÇÔÚframework¡¡µÄ´òÓ¡»úÖÆÓëÓ¦ÓóÌÐòµÄView¡¡¶ÔÏóÖ®¼ä¼ÜÆð¡¡



¹µÍ¨ÇÅÁº¡£¡¡



ΪÁËÁ˽âMFC¡¡¡¡ÖеĴòÓ¡»úÖÆ£¬ÎÒÓÖ¶¯ÓÃÁËÎҵķ¨±¦£ºVisual¡¡C£«£«¡¡Debugger¡¡¡£ÎÒ·¢ÏÖ£¬¡¡



AppWizard¡¡ÎªÎÒµÄView¡¡×ö³öÕâÑùµÄMessage¡¡Map¡¡£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡671¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡734¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡¡¡¡¡ÉîÈë¡¡¡¡MFC¡¡¡¡³ÌʽÔOÓ‹¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BEGIN_MESSAGE_MAP£¨CScribbleView£»¡¡CScrollView£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Standard¡¡printing¡¡mands¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ON_MAND£¨ID_FILE_PRINT£»¡¡CView£º£ºOnFilePrint£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ON_MAND£¨ID_FILE_PRINT_PREVIEW£»¡¡CView£º£ºOnFilePrintPreview£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡END_MESSAGE_MAP£¨£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨1£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡