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

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

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爰片久久毛片 | 婷婷色中文网 | 日韩免费视频一区 | 天天做天天爱夜夜爽 | 午夜大片免费完整在线看 | 一级香蕉视频在线观看 | 一区二区免费视频 | 亚洲第一久久 | 青免费视频 | 亚洲人成绝费网站色ww | 天天看天天射天天碰 | 日韩精品一区二区三区乱码 | 最新韩国理论片30页 | 在线免费观看h视频 | 手机看片国产欧美日韩高清 | 亚洲天堂视频一区 | 日韩一区二三区无 | 亚洲成人一级 | 日本一区视频在线 | 日本视频在线免费 | 青娱乐青青 | 婷婷免费在线 | 午夜影院免费观看视频 | 天天操天天舔天天射 | 主播国产 | 日韩一区二三区无 | 日韩视频在线精品视频免费观看 | 天天插天天操天天干 | 四虎在线影视在线影库 | 视频一区二区三区欧美日韩 | 亚洲乱码一二三四区麻豆 | 色狠狠成人综合色 | 欧美亚洲国产一区 | 天天躁夜夜躁狠狠躁躁 | 天天干天天色综合 | 亚色一区 | 亚洲一区免费在线观看 | 四虎影视在线影院4hu | 日日干干 |