אני עדיין שונא את זה.
כאן אני פותח את חלון ההגדרות של המדפסת:
private void OpenPrinterPropertiesDialog(PrinterSettings printerSettings)
{
IntPtr hDevMode = printerSettings.GetHdevmode(printerSettings.DefaultPageSettings);
IntPtr pDevMode = GlobalLock(hDevMode);
int sizeNeeded = DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, pDevMode, ref pDevMode, 0);
IntPtr devModeData = Marshal.AllocHGlobal(sizeNeeded);
DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, devModeData, ref pDevMode, 14);
//Create a byte array to store Devmode settings.
byte[] bytearray = new byte[sizeNeeded];
//Copy the contents of Devmode to the byte array.
Marshal.Copy(devModeData, bytearray, 0, sizeNeeded);
//Save the settings to disk.
File.WriteAllBytes(txtSaveAs.Text+ ".bin", bytearray);
GlobalUnlock(hDevMode);
printerSettings.SetHdevmode(devModeData);
printerSettings.DefaultPageSettings.SetHdevmode(devModeData);
h = devModeData;
GlobalFree(hDevMode);
Marshal.FreeHGlobal(devModeData);
}
אני יכול להשתמש במה ששמרתי לצורך הגדרה של הדפסה.
לדוג' 2 עמודים בגליון. גודל נייר ועוד.
השאלה היא איך אני טוען את מה ששמרתי שיוצג שוב בחלון ההגדרה?
אני צריך איכשהו לקרוא ל DocumentProperties ולספק לו את הDevMode הדרוש.
AnyHelp?
עיינו כאן:
וכאן:
פורסם במקור בפורום CODE613 ב07/11/2017 01:17 (+02:00)