|
![]() |
#1 |
Участник
|
Размер и поля вашей структуры отличаются от данных MSDN. DEVMODE
Еще. Первый входной парамер для функции EnumDisplaySettingsA вы указывает тип - стринг, а передаете 0. Если хотите передать NULL, то сделайте тип - DWord
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 05.11.2006 в 23:15. |
|
![]() |
#2 |
Британский учённый
|
Сделал как в МСДН
![]() X++: #define.SizeOfStruct (206) static Binary NewDEVMODE() { Binary DEVMODE = new Binary(#SizeOfStruct); container con = WinAPI::getVersion(); ; DEVMODE.dWord (0, 198); // Specifies the size, in bytes, of the structure DEVMODE.dWord ( 8 ); //dmDeviceName[CCHDEVICENAME]; DEVMODE.word ( 10 ); //dmSpecVersion DEVMODE.word ( 12 ); //dmDriverVersion DEVMODE.word ( 16 ); //dmSize DEVMODE.word ( 20 ); //dmDriverExtra DEVMODE.dWord ( 24 ); //dmFields DEVMODE.word ( 26 ); //dmOrientation DEVMODE.word ( 28 ); //dmPaperSize DEVMODE.word ( 30 ); //dmPaperLength DEVMODE.word ( 32 ); //dmPaperWidth DEVMODE.word ( 34 ); //dmScale DEVMODE.word ( 36 ); //dmCopies DEVMODE.word ( 38 ); //dmDefaultSource DEVMODE.word ( 40 ); //dmPrintQuality DEVMODE.dWord ( 48 ); //dmPosition DEVMODE.dWord ( 56 ); //dmDisplayOrientation DEVMODE.dWord ( 64 ); //dmDisplayFixedOutput DEVMODE.word ( 66 ); //dmColor DEVMODE.word ( 68 ); //dmDuplex DEVMODE.word ( 70 ); //dmYResolution DEVMODE.word ( 72 ); //dmTTOption DEVMODE.word ( 74 ); //dmCollate DEVMODE.dWord ( 82 ); //dmFormName[CCHFORMNAME]; ??? DEVMODE.word ( 84 ); //dmLogPixels DEVMODE.dWord ( 92 ); //dmBitsPerPel DEVMODE.dWord ( 100 ); //dmPelsWidth DEVMODE.dWord ( 108 ); //dmPelsHeight DEVMODE.dWord ( 120 ); //dmDisplayFlags DEVMODE.dWord ( 128 ); //dmNup DEVMODE.dWord ( 136 ); //dmDisplayFrequency if (conPeek(con, 4) >= 0x0400) { DEVMODE.dWord ( 144 ); //dmICMMethod DEVMODE.dWord ( 152 ); //dmICMIntent DEVMODE.dWord ( 160 ); //dmMediaType DEVMODE.dWord ( 168 ); //dmDitherType DEVMODE.dWord ( 176 ); //dmReserved1 DEVMODE.dWord ( 182 ); //dmReserved2 } if (conPeek(con, 4) >= 0x0500 || conPeek(con, 4) >= 0x0400) { DEVMODE.dWord ( 190 ); //dmPanningWidth DEVMODE.dWord ( 198 ); //dmPanningHeight } return DEVMODE; } |
|