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

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

?? popprnt.c

?? widows編程例題程序13-18章
?? C
字號:
/*----------------------------------------------
   POPPRNT.C -- Popup Editor Printing Functions
  ----------------------------------------------*/

#include <windows.h>
#include <commdlg.h>
#include "resource.h"

BOOL bUserAbort ;
HWND hDlgPrint ;

BOOL CALLBACK PrintDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
     switch (msg)
     {
     case WM_INITDIALOG :
          EnableMenuItem (GetSystemMenu (hDlg, FALSE), SC_CLOSE, MF_GRAYED) ;
          return TRUE ;
          
     case WM_COMMAND :
          bUserAbort = TRUE ;
          EnableWindow (GetParent (hDlg), TRUE) ;
          DestroyWindow (hDlg) ;
          hDlgPrint = NULL ;
          return TRUE ;
     }
     return FALSE ;
}          

BOOL CALLBACK AbortProc (HDC hPrinterDC, int iCode)
{
     MSG msg ;
     
     while (!bUserAbort && PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
     {
          if (!hDlgPrint || !IsDialogMessage (hDlgPrint, &msg))
          {
               TranslateMessage (&msg) ;
               DispatchMessage (&msg) ;
          }
     }
     return !bUserAbort ;
}

BOOL PopPrntPrintFile (HINSTANCE hInst, HWND hwnd, HWND hwndEdit, 
                       PTSTR szTitleName)
{
     static DOCINFO  di = { sizeof (DOCINFO) } ;
     static PRINTDLG pd ;
     BOOL            bSuccess ;
     int             yChar, iCharsPerLine, iLinesPerPage, iTotalLines,
                     iTotalPages, iPage, iLine, iLineNum ;
     PTSTR           pstrBuffer ;
     TCHAR           szJobName [64 + MAX_PATH] ;
     TEXTMETRIC      tm ;
     WORD            iColCopy, iNoiColCopy ;

          // Invoke Print common dialog box
     
     pd.lStructSize         = sizeof (PRINTDLG) ;
     pd.hwndOwner           = hwnd ;
     pd.hDevMode            = NULL ;
     pd.hDevNames           = NULL ;
     pd.hDC                 = NULL ;
     pd.Flags               = PD_ALLPAGES | PD_COLLATE | 
                              PD_RETURNDC | PD_NOSELECTION ;
     pd.nFromPage           = 0 ;
     pd.nToPage             = 0 ;
     pd.nMinPage            = 0 ;
     pd.nMaxPage            = 0 ;
     pd.nCopies             = 1 ;
     pd.hInstance           = NULL ;
     pd.lCustData           = 0L ;
     pd.lpfnPrintHook       = NULL ;
     pd.lpfnSetupHook       = NULL ;
     pd.lpPrintTemplateName = NULL ;
     pd.lpSetupTemplateName = NULL ;
     pd.hPrintTemplate      = NULL ;
     pd.hSetupTemplate      = NULL ;
     
     if (!PrintDlg (&pd))
          return TRUE ;
     
     if (0 == (iTotalLines = SendMessage (hwndEdit, EM_GETLINECOUNT, 0, 0)))
          return TRUE ;

          // Calculate necessary metrics for file 
     
     GetTextMetrics (pd.hDC, &tm) ;
     yChar = tm.tmHeight + tm.tmExternalLeading ;
     
     iCharsPerLine = GetDeviceCaps (pd.hDC, HORZRES) / tm.tmAveCharWidth ;
     iLinesPerPage = GetDeviceCaps (pd.hDC, VERTRES) / yChar ;
     iTotalPages   = (iTotalLines + iLinesPerPage - 1) / iLinesPerPage ;

          // Allocate a buffer for each line of text
     
     pstrBuffer = malloc (sizeof (TCHAR) * (iCharsPerLine + 1)) ;

          // Display the printing dialog box
     
     EnableWindow (hwnd, FALSE) ;
     
     bSuccess   = TRUE ;
     bUserAbort = FALSE ;
     
     hDlgPrint = CreateDialog (hInst, TEXT ("PrintDlgBox"), 
                               hwnd, PrintDlgProc) ;

     SetDlgItemText (hDlgPrint, IDC_FILENAME, szTitleName) ;
     SetAbortProc (pd.hDC, AbortProc) ;

          // Start the document

     GetWindowText (hwnd, szJobName, sizeof (szJobName)) ;
     di.lpszDocName = szJobName ;
     
     if (StartDoc (pd.hDC, &di) > 0)
     {
               // Collation requires this loop and iNoiColCopy

          for (iColCopy = 0 ;
               iColCopy < ((WORD) pd.Flags & PD_COLLATE ? pd.nCopies : 1) ;
               iColCopy++)
          {
               for (iPage = 0 ; iPage < iTotalPages ; iPage++)
               {
                    for (iNoiColCopy = 0 ;
                         iNoiColCopy < (pd.Flags & PD_COLLATE ? 1 : pd.nCopies);
                         iNoiColCopy++)
                    {
                              // Start the page

                         if (StartPage (pd.hDC) < 0)
                         {
                              bSuccess = FALSE ;
                              break ;
                         }

                              // For each page, print the lines
                         
                         for (iLine = 0 ; iLine < iLinesPerPage ; iLine++)
                         {
                              iLineNum = iLinesPerPage * iPage + iLine ;
                              
                              if (iLineNum > iTotalLines)
                                   break ;
                              
                              *(int *) pstrBuffer = iCharsPerLine ;
                              
                              TextOut (pd.hDC, 0, yChar * iLine, pstrBuffer,
                                       (int) SendMessage (hwndEdit, EM_GETLINE,
                                       (WPARAM) iLineNum, (LPARAM) pstrBuffer));
                         }
                         
                         if (EndPage (pd.hDC) < 0)
                         {
                              bSuccess = FALSE ;
                              break ;
                         }
                         
                         if (bUserAbort)
                              break ;
                    }
                    
                    if (!bSuccess || bUserAbort)
                         break ;
               }
               
               if (!bSuccess || bUserAbort)
                    break ;
          }
     }
     else
          bSuccess = FALSE ;
     
     if (bSuccess)
          EndDoc (pd.hDC) ;
     
     if (!bUserAbort)
     {
          EnableWindow (hwnd, TRUE) ;
          DestroyWindow (hDlgPrint) ;
     }
     
     free (pstrBuffer) ;
     DeleteDC (pd.hDC) ;
     
     return bSuccess && !bUserAbort ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av网站一区二区三区| 欧美日韩视频专区在线播放| 日韩欧美视频一区| 免费看日韩a级影片| 91精品国产色综合久久久蜜香臀| 亚洲视频在线一区| 色综合咪咪久久| 亚洲乱码国产乱码精品精98午夜 | 国产裸体歌舞团一区二区| 成人精品一区二区三区中文字幕| 欧美一区二视频| 老汉av免费一区二区三区| 日韩欧美一区在线观看| 国产一区二区视频在线| 精品区一区二区| 狠狠色丁香婷婷综合| 欧美成人精品二区三区99精品| 日本美女一区二区三区视频| 欧美一区二区三区不卡| 美国毛片一区二区| 久久九九影视网| av亚洲精华国产精华精华| 中文字幕亚洲欧美在线不卡| 91丝袜美女网| 精品一区二区久久| 欧美国产综合一区二区| 色婷婷av久久久久久久| 三级影片在线观看欧美日韩一区二区| 欧美日韩一区二区三区在线看| 日韩成人免费看| 国产精品国产三级国产三级人妇| 欧美日韩专区在线| 激情综合色综合久久| 国产精品色婷婷| 69精品人人人人| 成人app在线观看| 日韩专区在线视频| 欧美激情一区二区三区蜜桃视频| 欧美撒尿777hd撒尿| 国产高清成人在线| 日韩高清电影一区| 国产精品亲子伦对白| 欧美日韩国产免费| 成人精品小蝌蚪| 久久精品国产精品青草| 亚洲一卡二卡三卡四卡| 国产欧美一区二区三区在线老狼| 色偷偷久久一区二区三区| 国产福利精品一区二区| 日本欧美在线观看| 亚洲成人激情综合网| 国产精品欧美一级免费| 欧美精品一区二区久久久| 欧美一区二区观看视频| 在线观看亚洲精品视频| gogogo免费视频观看亚洲一| 国产馆精品极品| 国产一区二三区| 国产一区二区免费在线| 午夜在线成人av| 午夜激情综合网| 亚洲成人av一区二区三区| 亚洲高清视频中文字幕| 一区二区三区视频在线看| 国产精品视频一二三区| 亚洲va欧美va人人爽午夜| 久久精品国产精品青草| 成人免费av在线| 91成人网在线| 久久久久久久电影| 亚洲自拍欧美精品| 免费成人深夜小野草| 99久久婷婷国产精品综合| 欧美乱妇一区二区三区不卡视频| 欧美成人午夜电影| 亚洲欧洲日韩在线| 日本特黄久久久高潮| www.亚洲免费av| 日韩精品一区二区三区视频| 中文字幕字幕中文在线中不卡视频| 亚洲成人动漫一区| 99天天综合性| 久久亚洲欧美国产精品乐播 | 精品成人一区二区三区| 一区二区三区成人| 狠狠色伊人亚洲综合成人| 欧美丝袜第三区| 国产精品久久久久久久久久久免费看 | 久久久久9999亚洲精品| 亚洲成在线观看| 欧美在线免费观看亚洲| 国产精品欧美一区喷水| 国产白丝网站精品污在线入口| 欧美人xxxx| 日韩av在线免费观看不卡| 97aⅴ精品视频一二三区| 26uuu亚洲综合色| 日韩avvvv在线播放| 欧美日韩精品一区二区三区| 最新日韩在线视频| 91污片在线观看| 欧美一区二区三区公司| 中文字幕在线观看一区| 不卡一二三区首页| 亚洲精品国产一区二区三区四区在线| 成人高清视频在线| 国产一区二区在线观看视频| 国产精品一级二级三级| 成人av网站在线观看| 欧美伊人久久久久久午夜久久久久| 久久久久久99精品| 国内成人自拍视频| 国产精品视频一二| 欧美日韩在线直播| 欧美精品日韩综合在线| 樱桃国产成人精品视频| 欧美国产精品劲爆| 国产亚洲欧美日韩在线一区| 日韩视频在线你懂得| 欧美日韩精品系列| 7777精品伊人久久久大香线蕉完整版| 欧美在线视频日韩| 欧美一a一片一级一片| 欧美性感一类影片在线播放| 国产精品白丝jk黑袜喷水| 亚洲欧美日韩国产一区二区三区 | 欧美午夜寂寞影院| 中文字幕一区二区在线观看| 在线看国产日韩| 国产在线精品不卡| 亚洲欧美日韩久久| 欧美国产欧美综合| 精品99一区二区| 国产女人水真多18毛片18精品视频| 久久国产精品区| 欧美一区二区视频在线观看| 欧美亚男人的天堂| 国产精品女同互慰在线看| 欧美日韩精品一区二区天天拍小说| 精品无人码麻豆乱码1区2区| 一区二区三区久久久| 国产三级精品三级| 欧美大白屁股肥臀xxxxxx| 国产亚洲一区二区三区| 精品国产一区二区三区四区四 | 一区视频在线播放| 26uuuu精品一区二区| 欧美精品九九99久久| 欧美日韩国产电影| 欧美日韩一区视频| 欧美在线你懂得| 欧美日韩久久不卡| 欧美日韩亚洲国产综合| 在线免费不卡电影| 色哟哟一区二区在线观看| 成人高清伦理免费影院在线观看| 久久99精品久久久久婷婷| 裸体一区二区三区| 美女网站一区二区| 国产曰批免费观看久久久| 黄色日韩网站视频| 成人av网站在线| 欧美日产在线观看| 欧美一区二区黄| 国产午夜精品理论片a级大结局| 久久精品夜色噜噜亚洲a∨| 精品国产一区久久| 中文字幕电影一区| 亚洲国产中文字幕| 国内成人免费视频| 91欧美一区二区| 欧美一区二区二区| 国产精品毛片无遮挡高清| 亚洲成va人在线观看| 日本麻豆一区二区三区视频| 精品一区二区三区欧美| 不卡av在线网| 精品噜噜噜噜久久久久久久久试看| 成人欧美一区二区三区1314 | 欧美日韩精品免费观看视频| 日韩欧美国产成人一区二区| 国产精品视频一区二区三区不卡| 一区二区三区在线观看视频| 亚洲不卡一区二区三区| 国产99久久久国产精品免费看| 91影院在线免费观看| 久久久www免费人成精品| 亚洲超丰满肉感bbw| 成人毛片在线观看| 日韩精品一区二区三区在线播放| 亚洲欧美综合色| 国产麻豆午夜三级精品| 91精品国产丝袜白色高跟鞋| 亚洲欧洲精品一区二区精品久久久| 美女尤物国产一区| 欧美亚洲精品一区| 亚洲精品免费看| 丁香桃色午夜亚洲一区二区三区| 这里只有精品电影| 日韩国产精品久久|