Visual C++ 6.0编程实现打印功能
2007-03-25 21:30:15 来源:WEB开发网核心提示: 获取上述字符串后,再使用strtok()函数将该字符串进行分解,获得与打印机相关的三个属性,作为API函数CreateDC()创建打印机设备环境句柄的参数,Visual C++ 6.0编程实现打印功能(2),CreateDC()函数如果调用成功,则为默认打印机创建一个设备环境句柄,否则返回
获取上述字符串后,再使用strtok()函数将该字符串进行分解,获得与打印机相关的三个属性,作为API函数CreateDC()创建打印机设备环境句柄的参数,CreateDC()函数如果调用成功,则为默认打印机创建一个设备环境句柄,否则返回一个空值(NULL)。该函数的原形为:HDC CreateDC(LPCTSTR lpszDriver,LPCTSTR lpszDevice,LPCTSTR lpszOutput,CONST DEVMODE *lpinitData)。该函数的前三个参数恰好对应打印机的三个属性,最后一个参数为初始化打印机驱动程序的数据,一般情况下该参数设置为NULL就可以了。
在具体打印的过程中,调用int StartDoc( HDC hdc, CONST DOCINFO *lpdi )函数来开始一个打印任务,其中参数lpdi为一个指向DOCINFO结构的指针,该结构如下:
typedef struct {
int cbSize; //结构的尺寸大小;
LPCTSTR lpszDocName; //文档的名字;
LPCTSTR lpszOutput; //输出文档名,一般情况下为NULL;
LPCTSTR lpszDatatype;//用来记录打印过程的数据类型,一般情况下为NULL;
DWORD fwType; //用来支持打印工作的额外信息,一般情况下为NULL;
} DOCINFO, *LPDOCINFO;
开始一个打印任务后,再调用StartPage(hdcprint)函数让打印机走纸,通知打印机有文档将要打印;接下来的工作就是输出数据了,这部分工作对于开发人员来说就象往计算机屏幕上输出文字、图像一样容易,只不过是计算机根据当前的设备环境句柄自动将数据输出到打印机罢了。数据打印完后,需要作一些善后处理工作,使用RestoreDC(hdcprint,-1)函数恢复打印机设备句柄、EndPage(hdcprint)函数让打印机停止打印,最后调用EndDoc(hdcprint)函数结束上述的打印作业。
二、编程步骤
更多精彩
赞助商链接