六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

VC下打印機的使用

[摘要]VC 5.0是開發Windows 95下應用程序的強大工具。本文將通過一個具體實例討論用VC打印文字和圖形的一些技術。在Windows 95下,顯示器和打印機、繪圖儀都被視為輸出設備。系統默認的輸出...
VC 5.0是開發Windows 95下應用程序的強大工具。本文將通過一

個具體實例討論用VC打印文字和圖形的一些技術。在Windows 95下,

顯示器和打印機、繪圖儀都被視為輸出設備。系統默認的輸出設備是

顯示器。要使用打印機,首先需要創建一個指向打印機的設備環境句柄,

然后通過該句柄調用相關的繪圖函數把所需的文字和圖形輸出至打印

機上。當打印結束后,刪除這個設備環境句柄即可。

一、技術細節

當我們在Windows95下安裝好打印機后,總是需要設置一個為默認

打印機,在Windows95的啟動配置文件WIN.INI中[window]段中列出了

帶有關鍵字device的默認打印機。如果在文件WIN.INI中有如下幾行:

 

[windows]

[其他程序行]

device=EPSON LQ-1600K,EPSON24,LPT1:

在device后的字符串中就包含了系統中默認的打印機的三個重要

屬性.它們依次是打印機的設備名是LQ-1600K,驅動程序名是EPSON24,

輸出端口為LPT1。在程序中我們可調用API函數GetProfileString從

WIN.INI文件中獲得這個設備字符串。再將這個設備字符串進行分解,

獲得這三個屬性,作為參數用API函數CreateDC調用。如果調用成功,

則為默認打印機創建一個設備環境句柄,否則返回一個空值(NULL)。

CreateDC函數的原形如下:

HDC CreateDC(

LPCTSTR lpszDriver,

LPCTSTR lpszDevice,

LPCTSTR lpszOutput,

CONST DEVMODE *lpinitData

);

二、程序代碼及說明

新建一個名為Test的工程,窗體類型為對話框(Dialog based)

模式。在窗體中加入一個按鈕(Button),設置這個Button的屬性:

ID=IDC_PRINT,CAPTION="打印"。在類向導中找到該Button

的單擊事件對應的消息BN_CLICKED,增加其成員函數OnPrint。

在TestDlg.cpp文件中找到OnPrint函數并作如下改動。

void CTestDlg::OnPrint()

{

// 增加如下代碼

char szprinter[80];

char *szDevice,*szDriver,*szOutput;

HDC hdcprint; // 定義一個設備環境句柄

 

//定義一個打印作業

Static DOCINFO di={sizeof(DOCINFO),"printer",NULL};

 

// 得到設備字符串存入數組szprinter中

GetProfileString("windows","device",",,,",szprinter,80);

// 將設備字符串分解

if(NULL!=(szDevice=strtok(szprinter,","))&&

NULL!=(szDriver=strtok(NULL,","))&&

NULL!=(szOutput=strtok(NULL,",")))

// 創建一個打印機設備句柄

if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)

{

if(StartDoc(hdcprint,&di)>0) //開始執行一個打印作業

{

StartPage(hdcprint); //打印機走紙,開始打印

SaveDC(hdcprint); //保存打印機設備句柄

// 輸出一行文字

TextOut(hdcprint,1,1,"這是一個例子",12);

// 輸出一條直線

MoveToEx(hdcprint,20,20,NULL);

LineTo(hdcprint,120,120);

RestoreDC(hdcprint,-1); //恢復打印機設備句柄

EndPage(hdcprint); //打印機停紙,停止打印

EndDoc(hdcprint); //結束一個打印作業

MessageBox("打印完畢!","提示",MB_ICONINFORMATION);

}

// 用API函數DeleteDC銷毀一個打印機設備句柄

DeleteDC(hdcprint);

}

else

{

MessageBox("沒有默認打印機,或者沒有安裝打印機!");

return;

}

}


主站蜘蛛池模板: 日韩每日更新 | 手机看片毛片 | 日韩高清的天堂在线观看免费 | 日本一区二区三区免费在线观看 | 中日韩视频在线看免费观看 | 一二三中文乱码亚洲乱码 | 伊人久久天堂 | 亚洲视频在线观看 | 天天操天天射天天爽 | 天天干天天插天天射 | 日韩天堂网 | 青草草视频在线观看 | 日韩中文字幕视频在线观看 | 色狠狠干 | 欧美一级在线观看播放 | 亚洲成a人一区二区三区 | 中文字幕伦伦精品 | 涩涩涩涩涩 | 亚洲国产精品综合欧美 | 午夜激情视频 | 一区小说二区另类小说三区图 | 四虎国产精品影库永久免费 | 日韩免费不卡 | 一级国产视频 | 婷婷色九月综合激情丁香 | 亚洲天堂影视 | 日韩福利网| 日本视频免费在线观看 | 日本男人的天堂 | 天天干天天添 | 亚洲一区二区三区免费视频 | 香蕉久久夜色精品国产尤物 | 中日韩一线二线三线视频 | 日韩 亚洲 中文 图片 小说 | 日本a在线观看 | 四虎在线精品免费高清在线 | 日本一区二区三区久久 | 午夜影院官网 | 欧美专区综合 | 日日摸夜夜爽夜夜爽出水 | 香蕉大成网人站在线 |