B
Sooo, mal wieder zum Glück auch mal selber die Lösung gefunden!
Stell` ich mal rein, vielleicht freut sich jemand darauf
Also der Artikel heißt:
"How to Change Default Printer Settings in an MFC Application"
und befindet sich in der msdn Libary.
In Kürze die Lösung:
Includiert die Datei "winspool.h" in der Implementierung von der Klasse, der bei euch von CWinApp abgeleitet wurde.
Implementiert die folgende Funktion:
Bei euch heißt die Funktion wahrscheinlich anders! CIrgendeinWinApp
void CMyWinApp::SetLandscape()
{
// Get default printer settings.
PRINTDLG pd;
pd.lStructSize = (DWORD) sizeof(PRINTDLG);
if (GetPrinterDeviceDefaults(&pd))
{
// Lock memory handle.
DEVMODE FAR* pDevMode =
(DEVMODE FAR*)::GlobalLock(m_hDevMode);
LPDEVNAMES lpDevNames;
LPTSTR lpszDriverName, lpszDeviceName, lpszPortName;
HANDLE hPrinter;
if (pDevMode)
{
// Change printer settings in here.
pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
// Unlock memory handle.
lpDevNames = (LPDEVNAMES)GlobalLock(pd.hDevNames);
lpszDriverName = (LPTSTR )lpDevNames + lpDevNames->wDriverOffset;
lpszDeviceName = (LPTSTR )lpDevNames + lpDevNames->wDeviceOffset;
lpszPortName = (LPTSTR )lpDevNames + lpDevNames->wOutputOffset;
::OpenPrinter(lpszDeviceName, &hPrinter, NULL);
::DocumentProperties(NULL,hPrinter,lpszDeviceName,pDevMode,
pDevMode, DM_IN_BUFFER|DM_OUT_BUFFER);
// Sync the pDevMode.
// See SDK help for DocumentProperties for more info.
::ClosePrinter(hPrinter);
::GlobalUnlock(m_hDevNames);
::GlobalUnlock(m_hDevMode);
}
}
}
Und zum Schluss: Ruft diese Funktion innerhalb von CMyWinApp::InitInstance() auf
Fertig!
Jetzt ist zumindest das ganze standardmäßig auf Querformat!
viele Grüße bolilein
P.S: Jetzt wüßte ich nur noch gerne, wie man die Option Hochformat DEAKTIVIEREN kann ??
[ Dieser Beitrag wurde am 26.06.2003 um 09:36 Uhr von bolilein editiert. ]
[ Dieser Beitrag wurde am 26.06.2003 um 09:37 Uhr von bolilein editiert. ]