我有一段这样的代码:
QPrinter* pPrinter = new QPrinter(QPrinter::HighResolution);
QPrintDialog print_dialog(pPrinter ,this);
if (print_dialog.exec() == QDialog::Accepted)
{
printer.setResolution(600);
HDC hdc = pPrinter->paintEngine()->getDC();
int VertsizePixel = GerDeveceCaps(hdc,VERTREZS);
int nHorzsizePixel = GetDeviceCaps(hdc,HORZSIZES);
}
delete pPrinter;
pPrinter = NULL;
但是我无论把SetResolution函数的参数设置成多少,GerDeveceCaps函数返回的值都不变,
但是如果我如果手动的在打印机的首选项中设置的话GerDeveceCaps的返回值就会改变。
发现SetResolution函数设置的是logcaldpi
而在菜单中设置的是physicaldpi
现在的问题是我怎么在代码中设置physicaldpi
请高人指点~~~~~
[ 此帖被176107519在2009-03-02 16:01重新编辑 ]