VC++关于打印的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:30:36
我的想法是这样
在基于对话框的程序中
不通过CPrintDialog这个类来获取打印机的HDC
通过其他方法来获得指定的打印机的HDC
这样是否就可以不显示打印对话框而直接打印呢?
如果能打印,该怎么实现呢?
望高手解决一下
怎么没人来解决一下呢.......
CPrintDialog中的函数CreatePrinterDC,MSDN解释说可以不显示打印对话框而创建一个打印机HDC
这个函数根据DEVMODE和DEVNAMES结构体来创建的
是不是只要正确填充这两个结构体就可以了
因为我打印发票,总不能每次都显示打印对话框,让用户选择打印机,这样用户很不方便

CreateDC,(CreatePrinterDC内部也是调用的它)。
CreateDC(_T("WINSPOOL"),name, NULL, data);
打印机一般用 WINSPOOL, name可以通过EnumDisplayDevices 来得到打印设备名称。data可以看MSDN上的说明来设置,也就是打印DPI,纸张宽度高度,颜色等信息,没什么难的,开始你设置为NULL试试