专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

C++ Builder怎么枚举当前打印机支持的所有纸张名称

发布时间:2011-06-28 10:15:39 文章来源:www.iduyao.cn 采编人员:星星草
C++ Builder如何枚举当前打印机支持的所有纸张名称?
本帖最后由 czq981113 于 2015-05-19 08:53:21 编辑
如题,想用CB做一个设置文档页面设置的功能,涉及到打印机和纸张的选择,不知有什么好的方法列出所有打印机及对应的支持纸张列表,有代码示例更好。感谢。
------解决思路----------------------
帮你找到delphi的源码,请高人翻译一下吧:
http://bbs.csdn.net/topics/270027334
------解决思路----------------------
这样行不:
UnicodeString sPrintsName = prts->Printers->Strings[prts->PrinterIndex];
int nNeeded=DeviceCapabilities(sPrintsName.t_str(),"LPT1",DC_PAPERNAMES,NULL,NULL);
if(nNeeded)
{
char *pszPaperNames = new char[2000]; //分配纸张名称数组
char *mystr = new char[64];
//获得可用打印机纸张名称数组
if(DeviceCapabilities(sPrintsName.t_str(),"LPT1",DC_PAPERNAMES,pszPaperNames,NULL)!=-1)
{
//复制列表
for(int i = 0;i < nNeeded; i++)
{
for(int j=0; j<64;j++)
{
mystr[j] = pszPaperNames[j+i*64];
}
cbbPapers->Items->Add(mystr);
}
cbbPapers->ItemIndex = 0;
}
delete []pszPaperNames;
delete []mystr;
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: