Erkennen des "schwarz/weiß" Druckmodus
-
Hallo!
Ich habe das Problem, dass die bisherige Art und weise zur Ermittlung, ob im farb- oder SW- Modus gedruckt werden soll nicht mehr zuverlässig funktioniert.
Hier der bisherige Ansatz:
BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo) { ... // Anzeige des Druckdialoges BOOL bRet = DoPreparePrinting(pInfo); if (bRet && strDruckerName != pInfo->m_pPD->GetDeviceName()) { LPDEVMODE pDevMode = pInfo->m_pPD->GetDevMode(); BOOL bMonochrome = FALSE; if (pDevMode->dmFields & DM_COLOR) bMonochrome = (pDevMode->dmColor != DMCOLOR_COLOR); } ... }
Dieser Ansatz funktioniert bei Nutzung von dem Tintenstahldrucker, den wir haben. Auf den großen (postscript) Laserdruckern allerdings nicht mehr.
Ein weiterer Ansatz:
DWORD dwColor = DeviceCapabilities(pinfo2->pPrinterName, pinfo2->pPortName, DC_COLORDEVICE, NULL, devMode);
hat auch nicht funktioniert.
Welche Möglichkeiten gibt es noch?
Danke im Voraus!
-