哪里能够获得完整的win32 SDK的帮助文档?delphi提供的不完全!!(20分)

  • 主题发起人 主题发起人 随便看看
  • 开始时间 开始时间

随便看看

Unregistered / Unconfirmed
GUEST, unregistred user!
比如,d5开发人员指南一书的打印章节中使用的PDeviceMode类型就在delphi提供的帮助中找不到!!
 
msdn<br>http://msdn.microsoft.com/library/default.asp
 
delphi在线帮助里查DEVMODE<br>The DEVMODE data structure contains information about the device initialization and environment of a printer. <br><br>typedef struct _devicemode { &nbsp; &nbsp;// dvmd &nbsp;<br>&nbsp; &nbsp; BCHAR &nbsp;dmDeviceName[CCHDEVICENAME]; <br>&nbsp; &nbsp; WORD &nbsp; dmSpecVersion; <br>&nbsp; &nbsp; WORD &nbsp; dmDriverVersion; <br>&nbsp; &nbsp; WORD &nbsp; dmSize; <br>&nbsp; &nbsp; WORD &nbsp; dmDriverExtra; <br>&nbsp; &nbsp; DWORD &nbsp;dmFields; <br>&nbsp; &nbsp; short &nbsp;dmOrientation; <br>&nbsp; &nbsp; short &nbsp;dmPaperSize; <br>&nbsp; &nbsp; short &nbsp;dmPaperLength; <br>&nbsp; &nbsp; short &nbsp;dmPaperWidth; <br>&nbsp; &nbsp; short &nbsp;dmScale; <br>&nbsp; &nbsp; short &nbsp;dmCopies; <br>&nbsp; &nbsp; short &nbsp;dmDefaultSource; <br>&nbsp; &nbsp; short &nbsp;dmPrintQuality; <br>&nbsp; &nbsp; short &nbsp;dmColor; <br>&nbsp; &nbsp; short &nbsp;dmDuplex; <br>&nbsp; &nbsp; short &nbsp;dmYResolution; <br><br>&nbsp; &nbsp; short &nbsp;dmTTOption; <br>&nbsp; &nbsp; short &nbsp;dmCollate; <br>&nbsp; &nbsp; BCHAR &nbsp;dmFormName[CCHFORMNAME]; <br>&nbsp; &nbsp; WORD &nbsp;dmLogPixels; <br>&nbsp; &nbsp; DWORD &nbsp;dmBitsPerPel; <br>&nbsp; &nbsp; DWORD &nbsp;dmPelsWidth; <br>&nbsp; &nbsp; DWORD &nbsp;dmPelsHeight; <br>&nbsp; &nbsp; DWORD &nbsp;dmDisplayFlags; <br>&nbsp; &nbsp; DWORD &nbsp;dmDisplayFrequency; <br>#if(WINVER &gt;= 0x0400) <br>&nbsp; &nbsp; DWORD &nbsp;dmICMMethod; &nbsp; &nbsp; &nbsp; &nbsp; // Windows 95 only <br>&nbsp; &nbsp; DWORD &nbsp;dmICMIntent; &nbsp; &nbsp; &nbsp; &nbsp; // Windows 95 only <br>&nbsp; &nbsp; DWORD &nbsp;dmMediaType; &nbsp; &nbsp; &nbsp; &nbsp; // Windows 95 only <br>&nbsp; &nbsp; DWORD &nbsp;dmDitherType; &nbsp; &nbsp; &nbsp; &nbsp;// Windows 95 only <br><br>&nbsp; &nbsp; DWORD &nbsp;dmReserved1; &nbsp; &nbsp; &nbsp; &nbsp; // Windows 95 only <br>&nbsp; &nbsp; DWORD &nbsp;dmReserved2; &nbsp; &nbsp; &nbsp; &nbsp; // Windows 95 only <br>#endif /* WINVER &gt;= 0x0400 */ <br>} DEVMODE; <br>&nbsp;<br><br>Members<br><br>dmDeviceName<br><br>Specifies the the "friendly" name of the printer; for example, "PCL/HP LaserJet" in the case of PCL/HP LaserJet? This string is unique among device drivers. Note that this name may be truncated to fit in the dmDeviceName array.<br><br>dmSpecVersion<br><br>Specifies the version number of the initialization data specification on which the structure is based. <br><br>dmDriverVersion<br><br>Specifies the printer driver version number assigned by the printer driver developer. <br><br>dmSize<br><br>Specifies the size, in bytes, of the DEVMODE structure, not including any private driver-specific data that might follow the structure's public members. You can use this member to determine the number of bytes of public data regardless of the version of the DEVMODE structure being used.<br><br>dmDriverExtra<br><br>Contains the number of bytes of private driver-data that follow this structure. If a device driver does not use device-specific information, set this member to zero. <br><br>dmFields<br><br>A set of bit flags that specify whether certain members of the DEVMODE structure have been initialized. If a field is initialized, its corresponding bit flag is set, otherwise the bit flag is clear. &nbsp;A printer driver supports only those DEVMODE structure members that are appropriate for the printer technology. <br><br>The following bit flags are defined, and are listed here with the corresponding structure members:<br><br>Value Structure Member<br>DM_ORIENTATION dmOrientation<br>DM_PAPERSIZE dmPaperSize<br>DM_PAPERLENGTH dmPaperLength<br>DM_PAPERWIDTH dmPaperWidth<br>DM_SCALE dmScale<br>DM_COPIES dmCopies<br>DM_DEFAULTSOURCE dmDefaultSource<br>DM_PRINTQUALITY dmPrintQuality<br>DM_COLOR dmColor<br>DM_DUPLEX dmDuplex<br>DM_YRESOLUTION dmYResolution<br>DM_TTOPTION dmTTOption<br>DM_COLLATE dmCollate<br>DM_FORMNAME dmFormName<br>DM_LOGPIXELS dmLogPixels<br>DM_BITSPERPEL dmBitsPerPel<br>DM_PELSWIDTH dmPelsWidth<br>DM_PELSHEIGHT dmPelsHeight<br>DM_DISPLAYFLAGS dmDisplayFlags<br>DM_DISPLAYFREQUENCY dmDisplayFrequency<br>DM_ICMMETHOD Windows 95 only: dmICMMethod<br>DM_ICMINTENT Windows 95 only: dmICMIntent<br>DM_MEDIATYPE Windows 95 only: dmMediaType<br>DM_DITHERTYPE Windows 95 only: dmDitherType<br>&nbsp;<br><br>dmOrientation<br><br>Selects the orientation of the paper. This member can be either DMORIENT_PORTRAIT (1) or DMORIENT_LANDSCAPE (2). <br><br>dmPaperSize<br><br>Selects the size of the paper to print on. This member can be set to zero if the length and width of the paper are both set by the dmPaperLength and dmPaperWidth members. Otherwise, the dmPaperSize member can be set to one of the following predefined values: <br><br>Value Meaning<br>DMPAPER_LETTER Letter, 8 1/2- by 11-inches<br>DMPAPER_LEGAL Legal, 8 1/2- by 14-inches<br>DMPAPER_A4 A4 Sheet, 210- by 297-millimeters<br>DMPAPER_CSHEET C Sheet, 17- by 22-inches<br>DMPAPER_DSHEET D Sheet, 22- by 34-inches<br>DMPAPER_ESHEET E Sheet, 34- by 44-inches<br>DMPAPER_LETTERSMALL Letter Small, 8 1/2- by 11-inches<br>DMPAPER_TABLOID Tabloid, 11- by 17-inches<br>DMPAPER_LEDGER Ledger, 17- by 11-inches<br>DMPAPER_STATEMENT Statement, 5 1/2- by 8 1/2-inches<br>DMPAPER_EXECUTIVE Executive, 7 1/4- by 10 1/2-inches<br>DMPAPER_A3 A3 sheet, 297- by 420-millimeters<br>DMPAPER_A4SMALL A4 small sheet, 210- by 297-millimeters<br>DMPAPER_A5 A5 sheet, 148- by 210-millimeters<br>DMPAPER_B4 B4 sheet, 250- by 354-millimeters<br>DMPAPER_B5 B5 sheet, 182- by 257-millimeter paper<br>DMPAPER_FOLIO Folio, 8 1/2- by 13-inch paper<br>DMPAPER_QUARTO Quarto, 215- by 275-millimeter paper<br>DMPAPER_10X14 10- by 14-inch sheet<br>DMPAPER_11X17 11- by 17-inch sheet<br>DMPAPER_NOTE Note, 8 1/2- by 11-inches<br>DMPAPER_ENV_9 #9 Envelope, 3 7/8- by 8 7/8-inches<br>DMPAPER_ENV_10 #10 Envelope, 4 1/8- by 9 1/2-inches<br>DMPAPER_ENV_11 #11 Envelope, 4 1/2- by 10 3/8-inches<br>DMPAPER_ENV_12 #12 Envelope, 4 3/4- by 11-inches<br>DMPAPER_ENV_14 #14 Envelope, 5- by 11 1/2-inches<br>DMPAPER_ENV_DL DL Envelope, 110- by 220-millimeters<br>DMPAPER_ENV_C5 C5 Envelope, 162- by 229-millimeters<br>DMPAPER_ENV_C3 C3 Envelope, &nbsp;324- by 458-millimeters<br>DMPAPER_ENV_C4 C4 Envelope, &nbsp;229- by 324-millimeters<br>DMPAPER_ENV_C6 C6 Envelope, &nbsp;114- by 162-millimeters<br>DMPAPER_ENV_C65 C65 Envelope, 114- by 229-millimeters<br>DMPAPER_ENV_B4 B4 Envelope, &nbsp;250- by 353-millimeters<br>DMPAPER_ENV_B5 B5 Envelope, &nbsp;176- by 250-millimeters<br>DMPAPER_ENV_B6 B6 Envelope, &nbsp;176- by 125-millimeters<br>DMPAPER_ENV_ITALY Italy Envelope, 110- by 230-millimeters<br>DMPAPER_ENV_MONARCH Monarch Envelope, 3 7/8- by 7 1/2-inches<br>DMPAPER_ENV_PERSONAL 6 3/4 Envelope, 3 5/8- by 6 1/2-inches<br>DMPAPER_FANFOLD_US US Std Fanfold, 14 7/8- by 11-inches<br>DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold, 8 1/2- by 12-inches<br>DMPAPER_FANFOLD_LGL_GERMAN German Legal Fanfold, 8 1/2- by 13-inches<br>&nbsp;<br><br>dmPaperLength<br><br>Overrides the length of the paper specified by the dmPaperSize member, either for custom paper sizes or for devices such as dot-matrix printers, which can print on a page of arbitrary length. These values, along with all other values in this structure that specify a physical length, are in tenths of a millimeter. <br><br>dmPaperWidth<br><br>Overrides the width of the paper specified by the dmPaperSize member. <br><br>dmScale<br><br>Specifies the factor by which the printed output is to be scaled. The apparent page size is scaled from the physical page size by a factor of dmScale/100. For example, a letter-sized page with a <br>dmScale value of 50 would contain as much data as a page of 17- by 22-inches because the output text and graphics would be half their original height and width. <br><br>dmCopies<br><br>Selects the number of copies printed if the device supports multiple-page copies. <br><br>dmDefaultSource<br><br>Reserved; must be zero. <br><br>dmPrintQuality<br><br>Specifies the printer resolution. There are four predefined device-independent values: <br><br>DMRES_HIGH<br>DMRES_MEDIUM<br>DMRES_LOW<br>DMRES_DRAFT<br>If a positive value is given, it specifies the number of dots per inch (DPI) and is therefore device dependent. <br><br>dmColor<br><br>Switches between color and monochrome on color printers. Following are the possible values: <br><br>DMCOLOR_COLOR<br>DMCOLOR_MONOCHROME<br><br>dmDuplex<br><br>Selects duplex or double-sided printing for printers capable of duplex printing. Following are the possible values: <br><br>DMDUP_SIMPLEX<br>DMDUP_HORIZONTAL<br>DMDUP_VERTICAL<br><br>dmYResolution<br><br>Specifies the y-resolution, in dots per inch, of the printer. If the printer initializes this member, the <br>dmPrintQuality member specifies the x-resolution, in dots per inch, of the printer. <br><br>dmTTOption<br><br>Specifies how TrueType?fonts should be printed. This member can be one of the following values: <br><br>Value Meaning<br>DMTT_BITMAP Prints TrueType fonts as graphics. This is the default action for dot-matrix printers.<br>DMTT_DOWNLOAD Downloads TrueType fonts as soft fonts. This is the default action for Hewlett-Packard printers that use Printer Control Language (PCL).<br>DMTT_SUBDEV Substitute device fonts for TrueType fonts. This is the default action for PostScript?printers.<br>&nbsp;<br><br>dmUnusedPadding<br><br>Used to align the structure to a DWORD boundary. This should not be used or referenced. Its name and usage is reserved, and can change in future releases. <br><br>dmCollate<br><br>Specifies whether collation should be used when printing multiple copies. (This member is ignored unless the printer driver indicates support for collation by setting the dmFields member to DM_COLLATE.) This member can be be one of the following values: <br><br>Value Meaning<br>DMCOLLATE_TRUE Collate when printing multiple copies.<br>DMCOLLATE_FALSE Do not collate when printing multiple copies.<br>&nbsp;<br><br>Using DMCOLLATE_TRUE provides faster, more efficient output for collation, since the data is sent to the device driver just once, no matter how many copies are required. The printer is told to simply print the page again. <br><br>dmFormName<br><br>Windows NT: Specifies the name of the form to use; for example, "Letter" or "Legal". A complete set of names can be retrieved by using the EnumForms function. <br><br>Windows 95: Printer drivers do not use this member. <br><br>dmLogPixels<br><br>Specifies the number of pixels per logical inch. Printer drivers do not use this member. <br><br>dmBitsPerPel<br><br>Specifies the color resolution, in bits per pixel, of the display device (for example: 4 bits for 16 colors, 8 bits for 256 colors, or 16 bits for 65536 colors). Display drivers use this member, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member. <br><br>dmPelsWidth<br><br>Specifies the width, in pixels, of the visible device surface. Display drivers use this member, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member. <br><br>dmPelsHeight<br><br>Specifies the height, in pixels, of the visible device surface. Display drivers use this member, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member. <br><br>dmDisplayFlags<br><br>Specifies the device's display mode. This member can be one of the following values: <br><br>Value Meaning<br>DM_GRAYSCALE Specifies that the display is a noncolor device. If this flag is not set, color is assumed.<br>DM_INTERLACED Specifies that the display mode is interlaced. If the flag is not set, noninterlaced is assumed.<br>&nbsp;<br><br>Display drivers use this member, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member. <br><br>dmDisplayFrequency<br><br>Specifies the frequency, in hertz (cycles per second), of the display device in a particular mode. This value is also known as the display device's vertical refresh rate. Display drivers use this member. It is used, for example, in the ChangeDisplaySettings function. Printer drivers do not use this member. <br>When you call the EnumDisplaySettings function, the dmDisplayFrequency member may return with the value 0 or 1. These values represent the display hardware's default refresh rate. This default rate is typically set by switches on a display card or computer motherboard, or by a configuration program that does not use Win32 display functions such as ChangeDisplaySettings. <br><br>dmICMMethod<br><br>Windows 95:<br><br>Specifies how ICM is handled. For a non-ICM application, this member determines if ICM is enabled or disabled. For ICM applications, Windows examines this member to determine how to handle ICM support. This member can be one of the following predefined values, or a driver-defined value greater than the value of DMICMMETHOD_USER:<br><br>Value Meaning<br>DMICMMETHOD_NONE Windows 95 only: Specifies that ICM is disabled.<br>DMICMMETHOD_SYSTEM Windows 95 only: Specifies that ICM is handled by Windows.<br>DMICMMETHOD_DRIVER Windows 95 only: Specifies that ICM is handled by the device driver.<br>DMICMMETHOD_DEVICE Windows 95 only: Specifies that ICM is handled by the destination device.<br>&nbsp;<br><br>The printer driver must provide a user interface for setting this member. Most printer drivers support only the DMICMMETHOD_SYSTEM or DMICMMETHOD_NONE value. Drivers for PostScript printers support all values.<br><br>Windows NT:<br><br>This member is not supported on Windows NT.<br><br>dmICMIntent<br><br>Windows 95:<br><br>Specifies which of the three possible color matching methods, or intents, should be used by default. This member is primarily for non-ICM applications. ICM applications can establish intents by using the ICM functions. This member can be one of the following predefined values, or a driver defined value greater than the value of DMICM_USER:<br><br>Value Meaning<br>DMICM_SATURATE Windows 95 only: Color matching should optimize for color saturation. This value is the most appropriate choice for business graphs when dithering is not desired.<br>DMICM_CONTRAST Windows 95 only: Color matching should optimize for color contrast. This value is the most appropriate choice for scanned or photographic images when dithering is desired.<br>DMICM_COLORMETRIC Windows 95 only: Color matching should optimize to match the exact color requested. This value is most appropriate for use with business logos or other images when an exact color match is desired.<br>&nbsp;<br><br>Windows NT:<br><br>This member is not supported on Windows NT.<br><br>dmMediaType<br><br>Windows 95:<br><br>Specifies the type of media being printed on. The member can be one of the following predefined values, or a driver-defined value greater than the value of DMMEDIA_USER:<br><br>Value Meaning<br>DMMEDIA_STANDARD Windows 95 only: Plain paper.<br>DMMEDIA_GLOSSY Windows 95 only: Glossy paper.<br>DMMEDIA_TRANSPARENCY Windows 95 only: Transparent film.<br>&nbsp;<br><br>Windows NT:<br><br>This member is not supported on Windows NT.<br><br>dmDitherType<br><br>Windows 95:<br><br>Specifies how dithering is to be done. The member can be one of the following predefined values, or a driver-defined value greater than the value of DMDITHER_USER:<br><br>Value Meaning<br>DMDITHER_NONE Windows 95 only: No dithering.<br>DMDITHER_COARSE Windows 95 only: Dithering with a coarse brush.<br>DMDITHER_FINE Windows 95 only: Dithering with a fine brush.<br>DMDITHER_LINEART Windows 95 only: Line art dithering, a special dithering method that produces well defined borders between black, white, and gray scalings. It is not suitable for images that include continuous graduations in intensisty and hue such as scanned photographs.<br>DMDITHER_GRAYSCALE Windows 95 only: Device does grayscaling.<br>&nbsp;<br><br>Windows NT:<br><br>This member is not supported on Windows NT.<br><br>dmReserved1<br><br>Windows 95: Not used; must be zero. <br>Windows NT: This member is not supported on Windows NT.<br><br>dmReserved2<br><br>Windows 95: Not used; must be zero. <br>Windows NT: This member is not supported on Windows NT.<br><br>&nbsp;<br><br>Remarks<br><br>A device driver's private data follows the public portion of the DEVMODE structure. The size of the public data can vary for different versions of the structure. The dmSize member specifies the number of bytes of public data, and the dmDriverExtra member specifies the number of bytes of private data.<br><br>See Also<br><br>AdvancedDocumentProperties, CreateDC, CreateIC, DeviceCapabilities, DocumentProperties<br>, OpenPrinter
 
请问楼上的朋友,为什么在delphi里是用PDeviceMode??delphi对她进行了封装嘛?那为什么在delphi自己的帮助里找不到阿??
 
我也是知其然不知其所以然。下面的解释不知是否正确:<br>PDeviceMode在Delphi里是指向devicemode结构的指针。<br>delphi只是把原来sdk头文件wingdi.h里的devicemode翻译成pascal语言的表述而已。<br>delphi的sdk帮助收录的是对C语言格式的描述。
 
后退
顶部