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

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

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;

}

}


主站蜘蛛池模板: 日日做夜夜爱 | 亚洲福利视频一区二区 | 一区二区三区在线播放视频 | 欧美性大战久久久久久久 | 日韩一级视频免费观看 | 日本护士后进式猛烈动态图片 | 亚洲欧美日韩伦中文 | 亚洲欧洲色天使日韩精品 | 日韩毛片免费线上观看 | 午夜视频在线观看一区 | 天天操天天操 | 综合久久99 | 亚洲精品福利 | 天天舔天天| 色综合色综合色综合 | 四虎在线永久免费观看 | 日本爱爱视频网站 | 天天干天天射天天舔 | 亚洲视频免费播放 | 亚洲精品91大神在线观看 | 五级毛片 | 亚洲欧美在线一区二区 | 影音先锋精品国产资源 | 日本成a人片在线观看网址 日本草草影院 | 中文在线天堂网 | 日韩三级毛片 | 午夜在线精品不卡国产 | 亚洲欧美综合久久 | 亚洲性视频在线 | 热热涩热热狠狠色香蕉综合 | 亚洲另类电击调教在线观看 | 伊人剧场| 亚洲高清在线视频 | 日韩禁片 | 日韩欧美精品综合一区二区三区 | 五月丁婷 | 天堂网在线网站成人午夜网站 | 日韩无人区码卡二卡3卡4卡介绍 | 青青在线精品2022国产 | 亚洲欧美日韩国产色另类 | 午夜日韩久久影院 |