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

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

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






¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÆäÖÐÇ°Èý¸ö²ÎÊý·Ö±ðÊÇÓë´òÓ¡»úÓйصÄÐÅÏ¢×Ö·û´®£¬¿ÉÒÔ´ÓWIN¡£INI¡¡¡¡µÄ¡¾windows¡¡¡¿section¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖлñµÃ£¬¸÷ÒÔ¶ººÅ·Ö¸ô£¬ÀýÈ磺¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡device=HP¡¡LaserJet¡¡4P/4MP£»HPPCL5E£»LPT1£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ú±íÈýÏîÒâÒ壺¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Driver¡¡=¡¡HP¡¡LaserJet¡¡4P/4MP¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Type¡¡=¡¡HPPCL5E¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Port¡¡=¡¡LPT1£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SDK¡¡³ÌÐòÖжÔÓÚ´òÓ¡ËùÐè×öµÄŬÁ¦£¬×îµÍÏ޶ȵ½´ËΪֹ¡£ÏÔÈ»£¬À§ÄѶȲ¢²»¸ß£¬µ«ÊÇÆä¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖÐÉÐδ²ÎÔÓ¶Ô´òÓ¡»úµÄ¿ØÖÆ£¬¶øÄÇÊDZȽÏÂé·³µÄʶù¡£»»¾ä»°ËµÎÒÃÇ»¹µÃ¿¼ÂÇ¡¸·ÖÒ³¡¹¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄÎÊÌâ¡£ÒÔÎÄ×ÖΪÀý£¬ÎÒÃDZØÐëÈ¡µÃÒ»Ò³£¨Ò»ÕÅÖ½£©µÄ´óС£¬ÒÔ¼°×ÖÐεĸ߶ȣ¬´Ó¶ø¼Æ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ëã¿Û³ýÁô°×²¿·ÝÖ®ºó£¬Ò»Ò³¿ÉÈÝÄɼ¸ÐУº¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TEXTMETRIC¡¡TextMetric£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡LineSpace£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡nPageSize£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡LinesPerPage£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GetTextMetrics£¨hPr£»¡¡&TextMetric£©£»¡¡¡¡//È¡µÃ×ÖÐÎÊý¾Ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LineSpace¡¡=¡¡TextMetric¡£tmHeight¡¡£«¡¡TextMetric¡£tmExternalLeading£»¡¡//¡¡¼ÆËã×ָߡ¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nPageSize¡¡=¡¡GetDeviceCaps£¨hPr£»¡¡VERTRES£©£»¡¡¡¡//¡¡È¡µÃÖ½ÕÅ´óС¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LinesPerPage¡¡=¡¡nPageSize¡¡/¡¡LineSpace¡¡1£»¡¡//¡¡Ò»Ò³ÈÝÄɶàÉÙÐС¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È»ºóÔÙÒÔÑ­»·½«Ã¿Ò»ÐÐÎÄ×ÖËÍÍù´òÓ¡»ú£º¡¡



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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨¡£¡£¡££©¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡//¡¡È¡µÃÒ»ÐÐÎÄ×Ö£¬·ÅÔÚchar¡¡pLine£§128£§¡¡ÖУ¬³¤¶ÈΪLineLength¡£¡¡



664¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡727¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



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

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

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡¡¡¡¡//ÖØÉèÐкš¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IOStatus¡¡=¡¡Escape¡¡£¨hPr£»¡¡NEWFRAME£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡¡¡//»»Ò³¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨IOStatus¡¡¡¶¡¡0¡¡£ü£ü¡¡bAbort£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡

¡¡¡¡¡¡¡¡£ý¡¡

¡¡¡¡¡¡¡¡if¡¡£¨IOStatus¡¡¡·=¡¡0¡¡&&¡¡£¡bAbort£©¡¡£û¡¡

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

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

¡¡¡¡¡¡¡¡£ý¡¡



¡¡¡¡¡¡¡¡ÆäÖеÄEscape¡¡ÓÃÀ´´«ËÍÃüÁî¸ø´òÓ¡»ú£¨´òÓ¡»úÃüÁîÒ»°ã³ÆΪescape¡¡code¡¡£©£¬ËüÊÇÒ»¸ö¡¡



¡¡¡¡¡¡¡¡Windows¡¡API¡¡¡¡º¯Êý¡£¡¡



¡¡¡¡¡¡¡¡´òÓ¡¹ý³ÌÖÐÎÒÃÇ»¹Ó¦¸ÃÌṩһ¸öÖжϻúÖƸøʹÓÃÕß¡£Modeless¡¡¶Ô»°¿ò¿ÉÒÔÍê³É´Ëһʹ¡¡



¡¡¡¡¡¡¡¡Ãü£¬ÎÒÃÇ¿ÉÒÔÈÃËü³öÏÖÔÚ´òÓ¡¹ý³ÌÖ®ÖС£Õâ¸ö¶Ô»°¿òÓ¦¸ÃÔÚ´òÓ¡³ÌÐò¿ªÊ¼Ö®Ç°ÏÈ×öÆðÀ´£¬¡¡



¡¡¡¡¡¡¡¡ÍâÐÎÀàËÆͼ12¡­1d£º¡¡



¡¡¡¡¡¡¡¡HWND¡¡hPrintingDlgWnd£»¡¡¡¡//¡¡Õâ¾ÍÊÇ¡¾Printing¡¿¶Ô»°¿ò¡¡

¡¡¡¡¡¡¡¡FARPROC¡¡lpPrintingDlg£»¡¡//¡¡¡¾Printing¡¿¶Ô»°¿òµÄ´°¿Úº¯Êý¡¡



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

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

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



¡¡¡¡¡¡¡¡¸ºÔð´ËÒ»ÖжϻúÖƵĶԻ°¿òº¯ÊýºÜ¼òµ¥£¬Ö»¼ì²é¡¾OK¡¡¡¿Å¥ÓÐûÓб»°´Ï£¬²¢¾ÝÒԸı䡡



¡¡¡¡¡¡¡¡bAbort¡¡¡¡µÄÖµ£º¡¡



¡¡¡¡¡¡¡¡int¡¡FAR¡¡PASCAL¡¡PrintingDlg¡¡£¨HWND¡¡hDlg£»¡¡unsigned¡¡msg£»¡¡WORD¡¡wParam£»¡¡LONG¡¡lParam£©¡¡

¡¡¡¡¡¡¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡switch£¨msg£©¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡WM_MAND£º¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨bAbort¡¡=¡¡TRUE£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡WM_INITDIALOG£º¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SetFocus£¨GetDlgItem£¨hDlg£»¡¡IDCANCEL£©£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SetDlgItemText£¨hDlg£»¡¡IDC_FILENAME£»¡¡FileName£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨TRUE£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨FALSE£©£»¡¡

¡¡¡¡¡¡¡¡£ý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡665¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡728¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ÓÓ¦ÓóÌÐòµÄÑÛ¹âÀ´¿´£¬ÕâÑù¾Í²î²»¶àÁË¡£È»¶ø×ÊÁÏÕæÕýË͵½´òÓ¡»úÉÏ£¬»¹ÓÐÒ»´ó¶ÎÇú¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÕÛ¹ý³Ì¡£Ã¿Ò»¸öËÍÍù´òÓ¡»úDC¡¡¡¡µÄ»æͼ¶¯×÷£¬Æäʵ¶¼Ö»±»¼Ç¼Ϊmetafile¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨×¢£©´¢´æÔÚ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄãµÄTEMP¡¡¡¡Ä¿Â¼ÖС£µ±Äãµ÷ÓÃEscape£¨hPr¡¡£»¡¡NEWFRAME£»¡¡¡£¡£¡££©£¬´òÓ¡»úÇý¶¯³ÌÐò£¨¡£DRV£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»á°ÑÕâЩmetafile¡¡×ª»»Îª´òÓ¡»úÓïÑÔ£¨control¡¡sequence¡¡»òPostscript¡¡£©£¬È»ºó֪ͨGDI¡¡Ä£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×飬ÓÉGDI¡¡°ÑËü´¢´æΪ~SPL¡¡Îļþ£¬Ò²·ÅÔÚTEMP¡¡¡¡Ä¿Â¼ÖУ¬²¢É¾³ý¶ÔÓ¦Ö®metafile¡¡¡£Ö®¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºó£¬GDI¡¡Ä£¿éÔÙËͳöÏûÏ¢¸ø´òÓ¡¹ÜÀíÆ÷Print¡¡Manager¡¡£¬ÓɺóÕßµ÷ÓÃOpenm¡¢¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Writem¡¡µÈµÍ½×ͨѶº¯Êý£¨Ò²¶¼ÊÇWindows¡¡API¡¡¡¡º¯Êý£©£¬°Ñ´òÓ¡»úÃüÁî´«¸ø´òÓ¡»ú¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õû¸öÁ÷³ÌÇë²Î¿¼Í¼12¡­3¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢£ºmetafile¡¡Ò²ÊÇÒ»ÖÖͼÐμǼ¹æ¸ñ£¬µ«Ëü¼Ç¼µÄÊÇ»æͼ¶¯×÷£¬²»Ïñbitmap¡¡¼Ç¼µÄÊÇÕæ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÕýµÄͼÐÎ×ÊÁÏ¡£ËùÒÔ²¥·Åmetafile¡¡¡¡±È²¥·Åbitmap¡¡Âý£¬ÒòΪ¶àÁËÒ»²ã»æͼº¯Êý½â¶Á¶¯×÷£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ«ËüµÄ´óС±Èbitmap¡¡Ð¡ºÜ¶à¡£ÓÃÔÚÓÐÐí¶àËÄÐΡ¢Ô²ÐΡ¢¹¤³Ì¼¸ºÎͼÐÎÉÏ×îΪ·½±ã¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸öÇúÕÛ¹ý³ÌÖ®ÖоͲúÉúÁËÒ»¸öÎÊÌâ¡£~SPL¡¡ÕâÖÖÎļþºÜ´ó£¬Èç¹ûÄãµÄTEMP¡¡¡¡Ä¿Â¼¿Õ¼ä¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²»¹»³äÔ££¬Ôõô°ì£¿Èç¹ûPrinter¡¡Manager¡¡°Ñ»ý´æµÄ~SPL¡¡¡¡ÄÚÈÝÏû»¯µôºóÄܹ»¿Õ³ö×ã¹»´Å¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µú¿Õ¼äµÄ»°£¬ÄÇôGDI¡¡Ä£¿é¾Í¿ÉÒÔÏÂÃüÁËÍÏûÏ¢£©¸øPrinter¡¡Manager¡¡£¬ÏÈ°Ñ»ý´æµÄ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡~SPL¡¡µµ´¦Àíµô¡£ÎÊÌâÊÇ£¬ÔÚWindows¡¡3¡£x¡¡Ö®ÖУ¬ÎÒÃǵijÌÐò´Ë¿ÌÕýæ×Å×ö»æͼ¶¯×÷£¬¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GDI¡¡Ã»Óлú»áËÍÏûÏ¢¸øPrinter¡¡Manager¡¡¡¡£¨ÒòΪWindows¡¡3¡£x¡¡ÊǸö·ÇÇ¿ÖÆÐÔ¶àÈÎÎñϵͳ£©¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½â¾ö·½·¨ÊÇÄãÏÈ×¼±¸Ò»¸öcallback¡¡º¯Êý£¬Ãû³ÆËæÄãÈ¡£¬Í¨³£ÃûΪAbortProc¡¡£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FARPROC¡¡lpAbortProc£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpAbortProc¡¡=¡¡MakeProcInstance£¨AbortProc£»¡¡hInst£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡SETABORTPROC£»¡¡NULL£»¡¡£¨LPSTR£©£¨long£©lpAbortProc£»¡¡£¨LPSTR£©NULL£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GDI¡¡Ä£¿éÔÚÖ´ÐÐEscape£¨hPr¡¡£»¡¡NEWFRAME¡£¡£¡££©¡¡µÄ¹ý³ÌÖлá³ÖÐøµ÷ÓÃÕâ¸öcallback¡¡º¯Êý£¬Ïë¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°ì·¨ÈÃÄãµÄ³ÌÐòÊͷųö¿ØÖÆȨ£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡FAR¡¡PASCAL¡¡AbortProc£¨hDC¡¡hPr£»¡¡int¡¡Code£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MSG¡¡msg£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while¡¡£¨£¡bAbort¡¡&&¡¡PeekMessage£¨&msg£»¡¡NULL£»¡¡NULL£»¡¡NULL£»¡¡TRUE£©£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨£¡IsDialogMessage£¨hAbortDlgWnd£»¡¡&msg£©£©¡¡£û¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TranslateMessage£¨&msg£©£»¡¡



666¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡729¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DispatchMessage£¨&msg£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨£¡bAbort£©£»¡¡

¡¡¡¡¡¡¡¡£ý¡¡



Äã¿ÉÒÔ´ÓVC£«£«¡¡4¡£0¡¡Ëù¸½µÄÕâ¸ö·¶Àý³ÌÐò»ñµÃÓйشòÓ¡µÄ¼«¼ÑʵÀý£º¡¡



¡¡¡¡¡¡¡¡MSDEVSAMPLESSDKWIN32PRINTER¡¡



Ò²¿ÉÒÔÔÚCharles¡¡Petzold¡¡Ëù×ŵÄProgramming¡¡Windows¡¡3¡£1¡¡µÚ15¡¡Õ£¬»òÊÇÆäа桡



Programming¡¡Windows¡¡95¡¡µÚ15¡¡Õ£¬»ñµÃ¸üÉîÈëµÄ×ÊÁÏ¡£¡¡



¡¡Windows¡¡³ÌÐò¡¡



¡¡È¡µÃ´òÓ¡»úDC¡¡¡¡¡¡¡¡¡¡¡¡£¨hPr£©¡¡£¬ÓÚÊǼÓÔØ´òÓ¡»úÇý¶¯³ÌÐò£¨DRV£©¡¡



¡¡Escape£¨hPr£»¡¡STARTDOC¡£¡£¡££©¡¡£¬ÓÚÊÇDRV¡¡³õʼ»¯²¢¼ÓÔØPrint¡¡Manager¡¡



¸÷ʽ¸÷ÑùµÄGDI¡¡»æͼº¯Êý£¨´¢´æΪmetafile¡¡£¬~MF¡¡µµ£©¡¡



Escape£¨hPr£»¡¡NEWFRAME¡£¡£¡££©¡¡



DRV¡¡½â¶Ámetafile¡¡£¬×ª»»Îªcontrol¡¡sequences¡¡»òPostscript¡¡£¬´«¸øGDI¡¡¡£¡¡



¡¡GDI¡¡°ÑDRV¡¡¡¡µÄÊä³ö´¢´æÔÚ~SPL¡¡ÔÝ´æÅÌÖУ¬²¢É¾³ý~MF¡¡µµ¡£¡¡



¡¡GDI¡¡ËÍÏûÏ¢¸øPrinter¡¡Manager¡¡£¬ÒªÇó´òÓ¡»úÊä³ö¡£Ó¦ÓóÌÐò¼ÌÐø½øÐÐ×Ô¼ºµÄ¶¯×÷¡¡



¡¡Printer¡¡Manager¡¡¶Á~SPL¡¡µµ£¬ÀûÓÃOpenm¡¢Writem¡¡µÈAPI¡¡¡¡º¯Êý°Ñ×ÊÁÏ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©¡¡¡¡

¡¡¡¡£¨´òÓ¡»úÃüÁîÂëËÍÍù´òÓ¡»ú£¬Íê±Ïºóɾ³ý~SPL¡¡µµ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼12¡­3¡¡Windows¡¡³ÌÐòµÄ´òÓ¡»úÊä³ö¶¯×÷Ïê½â¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡667¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡730¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÒÔϾÍÊÇSDK¡¡³ÌÐòÖÐÓйشòÓ¡³ÌÐòµÄÒ»¸öʵ¼ÊƬ¶Î¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#01¡¡¡¡hSaveCursor¡¡=¡¡SetCursor£¨hHourGlass£©£»¡¡¡¡//¡¡°ÑÊó±ê¹â±êÉèΪɰ©״¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#02¡¡¡¡hPr¡¡=¡¡CreateDC£¨¡¨HP¡¡LaserJet¡¡4P/4MP¡¨£»¡¡¡¨HPPCL5E¡¨£»¡¡¡¨LPT1£º¡¨£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#03¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#04¡¡¡¡//¡¡É趨AbortProc¡¡callback¡¡º¯Êý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#05¡¡¡¡lpAbortProc¡¡=¡¡MakeProcInstance£¨AbortProc£»¡¡hInst£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#06¡¡¡¡Escape£¨hPr£»¡¡SETABORTPROC£»¡¡NULL£»¡¡£¨LPSTR£©¡¡£¨long£©¡¡lpAbortProc£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡

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

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

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