home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / d / d020_1_4 / 3.ddi / INC / WINDOWS.INC < prev   
Encoding:
Text File  |  1990-06-01  |  56.7 KB  |  2,109 lines

  1. ;*************************************************************************
  2. ;
  3. ;       WINDOWS.INC - Windows assembly language structures & constants
  4. ;
  5. ;*************************************************************************
  6. ;
  7. ; Conditional Block includes:   (True states)
  8. ;     NOTEXT - don't include TextMetric struc & text drawing modes & stock objs.
  9. ;     NORASTOPS - don't include binary and ternary raster ops.
  10. ;     NOVK      - don't include virtual key definitions
  11. ;     NOMB      - don't include message box definitions
  12. ;     NOWM      - don't include window messages
  13. ;
  14. ;
  15. FALSE   =       0
  16. TRUE    =       1
  17. NULL    =       0
  18.  
  19. ;*******************************************************************
  20. ;
  21. ;       Rectangle
  22. ;
  23. ;*******************************************************************
  24.  
  25. RECT    struc
  26.         rcLeft          dw      ?
  27.         rcTop           dw      ?
  28.         rcRight         dw      ?
  29.         rcBottom        dw      ?
  30. RECT    ends
  31.  
  32. ;*******************************************************************
  33. ;
  34. ;  Window Class structure
  35. ;
  36. ;*******************************************************************
  37.  
  38. WNDCLASS struc
  39.         clsStyle        dw      ?       ; class style
  40.         clsLpfnWndProc  dd      ?
  41.         clsCbClsExtra   dw      ?
  42.         clsCbWndExtra   dw      ?
  43.         clsHInstance    dw      ?       ; instance handle
  44.         clsHIcon        dw      ?       ; class icon handle
  45.         clsHCursor      dw      ?       ; class cursor handle
  46.         clsHbrBackground dw     ?       ; class background brush
  47.         clsLpszMenuName dd      ?       ; menu name
  48.         clsLpszClassName dd     ?       ; far ptr to class name
  49. WNDCLASS ends
  50.  
  51. IFNDEF NOTEXT
  52. TEXTMETRIC struc
  53.     tmHeight        dw        ?
  54.     tmAscent        dw        ?
  55.     tmDescent        dw        ?
  56.     tmIntLeading    dw        ?
  57.     tmExtLeading    dw        ?
  58.     tmAveCharWidth  dw        ?
  59.     tmMaxCharWidth  dw        ?
  60.     tmWeight        dw        ?
  61.     tmItalic        db        ?
  62.     tmUnderlined    db        ?
  63.     tmStruckOut     db        ?
  64.     tmFirstChar     db        ?
  65.     tmLastChar        db        ?
  66.     tmDefaultChar   db        ?
  67.     tmBreakChar     db        ?
  68.     tmPitch        db        ?
  69.     tmCharSet        db        ?
  70.     tmOverhang        dw        ?
  71.     tmAspectX        dw        ?
  72.     tmAspectY        dw        ?
  73. TEXTMETRIC ends
  74.  
  75. LF_FACESIZE    EQU    32
  76.  
  77. LOGFONT struc
  78.     lfHeight          dw   ?
  79.     lfWidth          dw   ?
  80.     lfEscapement      dw   ?
  81.     lfOrientation     dw   ?
  82.     lfWeight          dw   ?
  83.     lfItalic          db   ?
  84.     lfUnderline       db   ?
  85.     lfStrikeOut       db   ?
  86.     lfCharSet          db   ?
  87.     lfOutPrecision    db   ?
  88.     lfClipPrecision   db   ?
  89.     lfQuality          db   ?
  90.     lfPitchAndFamily  db   ?
  91.     lfFaceName          db   LF_FACESIZE dup(?)
  92. LOGFONT ends
  93.  
  94. LOGBRUSH struc
  95.     lbStyle         dw ?
  96.     lbColor         dd ?
  97.     lbHatch         dw ?
  98. LOGBRUSH ends
  99.  
  100. ;
  101. ;  Text Drawing modes
  102. ;
  103. TRANSPARENT     = 1
  104. OPAQUE          = 2
  105. ;
  106. ; Mapping Modes
  107. ;
  108. MM_TEXT         =   1
  109. MM_LOMETRIC     =   2
  110. MM_HIMETRIC     =   3
  111. MM_LOENGLISH    =   4
  112. MM_HIENGLISH    =   5
  113. MM_TWIPS        =   6
  114. MM_ISOTROPIC    =   7
  115. MM_ANISOTROPIC  =   8
  116. ;
  117. ; Coordinate Modes
  118. ;
  119. ABSOLUTE        =   1
  120. RELATIVE        =   2
  121. ;
  122. ;  Stock Logical Objects
  123. ;
  124. WHITE_BRUSH     =  0
  125. LTGRAY_BRUSH    =  1
  126. GRAY_BRUSH      =  2
  127. DKGRAY_BRUSH    =  3
  128. BLACK_BRUSH     =  4
  129. NULL_BRUSH      =  5
  130. HOLLOW_BRUSH    =  5
  131. WHITE_PEN       =  6
  132. BLACK_PEN       =  7
  133. NULL_PEN        =  8
  134. DOT_MARKER      =  9
  135. OEM_FIXED_FONT  = 10
  136. ANSI_FIXED_FONT = 11
  137. ANSI_VAR_FONT   = 12
  138. SYSTEM_FONT     = 13
  139. DEVICE_DEFAULT_FONT = 14
  140. DEFAULT_PALETTE = 15
  141. SYSTEM_FIXED_FONT = 16
  142. ENDIF
  143. ;
  144. ; Brush Styles
  145. ;
  146. BS_SOLID        =   0
  147. BS_NULL         =   1
  148. BS_HOLLOW       =   BS_NULL
  149. BS_HATCHED      =   2
  150. BS_PATTERN      =   3
  151. BS_INDEXED      =   4
  152. BS_DIBPATTERN    =   5
  153. ;
  154. ; Hatch Styles
  155. ;
  156. HS_HORIZONTAL   =   0       ; -----
  157. HS_VERTICAL     =   1       ; |||||
  158. HS_FDIAGONAL    =   2       ; \\\\\
  159. HS_BDIAGONAL    =   3       ; /////
  160. HS_CROSS        =   4       ; +++++
  161. HS_DIAGCROSS    =   5       ; xxxxx
  162. ;
  163. ; Pen Styles
  164. ;
  165. PS_SOLID        =   0
  166. PS_DASH         =   1       ; -------
  167. PS_DOT          =   2       ; .......
  168. PS_DASHDOT      =   3       ; _._._._
  169. PS_DASHDOTDOT   =   4       ; _.._.._
  170. PS_NULL         =   5
  171. PS_INSIDEFRAME  =   6
  172. ;
  173. ; Device Parameters for GetDeviceCaps()
  174. ;
  175. DRIVERVERSION =0     ; Device driver version
  176. TECHNOLOGY    =2     ; Device classification
  177. HORZSIZE      =4     ; Horizontal size in millimeters
  178. VERTSIZE      =6     ; Vertical size in millimeters
  179. HORZRES       =8     ; Horizontal width in pixels
  180. VERTRES       =10    ; Vertical width in pixels
  181. BITSPIXEL     =12    ; Number of bits per pixel
  182. PLANES        =14    ; Number of planes
  183. NUMBRUSHES    =16    ; Number of brushes the device has
  184. NUMPENS       =18    ; Number of pens the device has
  185. NUMMARKERS    =20    ; Number of markers the device has
  186. NUMFONTS      =22    ; Number of fonts the device has
  187. NUMCOLORS     =24    ; Number of colors the device supports
  188. PDEVICESIZE   =26    ; Size required for device descriptor
  189. CURVECAPS     =28    ; Curve capabilities
  190. LINECAPS      =30    ; Line capabilities
  191. POLYGONALCAPS =32    ; Polygonal capabilities
  192. TEXTCAPS      =34    ; Text capabilities
  193. CLIPCAPS      =36    ; Clipping capabilities
  194. RASTERCAPS    =38    ; Bitblt capabilities
  195. ASPECTX       =40    ; Length of the X leg
  196. ASPECTY       =42    ; Length of the Y leg
  197. ASPECTXY      =44    ; Length of the hypotenuse
  198.  
  199. LOGPIXELSX    =88    ; Logical pixels/inch in X
  200. LOGPIXELSY    =90    ; Logical pixels/inch in Y
  201.  
  202. SIZEPALETTE  =104    ; Number of entries in physical palette
  203. NUMRESERVED  =106    ; Number of reserved entries in palette
  204. COLORRES     =108    ; Actual color resolution
  205. ;
  206. ifndef NOGDICAPMASKS
  207. ;
  208. ; Device Capability Masks:
  209. ;
  210. ; Device Technologies
  211. DT_PLOTTER       =   0  ; /* Vector plotter                   */
  212. DT_RASDISPLAY    =   1  ; /* Raster display                   */
  213. DT_RASPRINTER    =   2  ; /* Raster printer                   */
  214. DT_RASCAMERA     =   3  ; /* Raster camera                    */
  215. DT_CHARSTREAM    =   4  ; /* Character-stream, PLP            */
  216. DT_METAFILE      =   5  ; /* Metafile, VDM                    */
  217. DT_DISPFILE      =   6  ; /* Display-file                     */
  218. ;
  219. ; Curve Capabilities
  220. CC_NONE          =   0  ; /* Curves not supported             */
  221. CC_CIRCLES       =   1  ; /* Can do circles                   */
  222. CC_PIE           =   2  ; /* Can do pie wedges                */
  223. CC_CHORD         =   4  ; /* Can do chord arcs                */
  224. CC_ELLIPSES      =   8  ; /* Can do ellipese                  */
  225. CC_WIDE          =   16 ; /* Can do wide lines                */
  226. CC_STYLED        =   32 ; /* Can do styled lines              */
  227. CC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  228. CC_INTERIORS     =   128; /* Can do interiors                 */
  229. ;
  230. ; Line Capabilities
  231. LC_NONE          =   0  ; /* Lines not supported              */
  232. LC_POLYLINE      =   2  ; /* Can do polylines                 */
  233. LC_MARKER        =   4  ; /* Can do markers                   */
  234. LC_POLYMARKER    =   8  ; /* Can do polymarkers               */
  235. LC_WIDE          =   16 ; /* Can do wide lines                */
  236. LC_STYLED        =   32 ; /* Can do styled lines              */
  237. LC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  238. LC_INTERIORS     =   128; /* Can do interiors                 */
  239. ;
  240. ; Polygonal Capabilities
  241. PC_NONE          =   0  ; /* Polygonals not supported         */
  242. PC_POLYGON       =   1  ; /* Can do polygons                  */
  243. PC_RECTANGLE     =   2  ; /* Can do rectangles                */
  244. PC_WINDPOLYGON   =   4  ; /* Can do winding polygons          */
  245. PC_TRAPEZOID     =   4  ; /* Can do trapezoids                */
  246. PC_SCANLINE      =   8  ; /* Can do scanlines                 */
  247. PC_WIDE          =   16 ; /* Can do wide borders              */
  248. PC_STYLED        =   32 ; /* Can do styled borders            */
  249. PC_WIDESTYLED    =   64 ; /* Can do wide styled borders       */
  250. PC_INTERIORS     =   128; /* Can do interiors                 */
  251. ;
  252. ; Polygonal Capabilities */
  253. CP_NONE          =   0  ; /* No clipping of output            */
  254. CP_RECTANGLE     =   1  ; /* Output clipped to rects          */
  255. ;
  256. ; Text Capabilities
  257. TC_OP_CHARACTER  =   0001h ; /* Can do OutputPrecision   CHARACTER      */
  258. TC_OP_STROKE     =   0002h ; /* Can do OutputPrecision   STROKE         */
  259. TC_CP_STROKE     =   0004h ; /* Can do ClipPrecision     STROKE         */
  260. TC_CR_90         =   0008h ; /* Can do CharRotAbility    90             */
  261. TC_CR_ANY        =   0010h ; /* Can do CharRotAbility    ANY            */
  262. TC_SF_X_YINDEP   =   0020h ; /* Can do ScaleFreedom      X_YINDEPENDENT */
  263. TC_SA_DOUBLE     =   0040h ; /* Can do ScaleAbility      DOUBLE         */
  264. TC_SA_INTEGER    =   0080h ; /* Can do ScaleAbility      INTEGER        */
  265. TC_SA_CONTIN     =   0100h ; /* Can do ScaleAbility      CONTINUOUS     */
  266. TC_EA_DOUBLE     =   0200h ; /* Can do EmboldenAbility   DOUBLE         */
  267. TC_IA_ABLE       =   0400h ; /* Can do ItalisizeAbility  ABLE           */
  268. TC_UA_ABLE       =   0800h ; /* Can do UnderlineAbility  ABLE           */
  269. TC_SO_ABLE       =   1000h ; /* Can do StrikeOutAbility  ABLE           */
  270. TC_RA_ABLE       =   2000h ; /* Can do RasterFontAble    ABLE           */
  271. TC_VA_ABLE       =   4000h ; /* Can do VectorFontAble    ABLE           */
  272. TC_RESERVED      =   8000h
  273. ;
  274. ; Raster Capabilities
  275. RC_BITBLT        =   1      ; /* Can do standard BLT.             */
  276. RC_BANDING       =   2      ; /* Device requires banding support  */
  277. RC_SCALING       =   4      ; /* Device requires scaling support  */
  278. RC_BITMAP64      =   8      ; /* Device can support >64K bitmap   */
  279. RC_GDI20_OUTPUT  =   0010h  ; /* has 2.0 output calls         */
  280. RC_DI_BITMAP     =   0080h  ; /* supports DIB to memory       */
  281. RC_PALETTE       =   0100h  ; /* supports a palette           */
  282. RC_DIBTODEV      =   0200h  ; /* supports DIBitsToDevice      */
  283. RC_BIGFONT       =   0400h  ; /* supports >64K fonts          */
  284. RC_STRETCHBLT    =   0800h  ; /* supports StretchBlt          */
  285. RC_FLOODFILL     =   1000h  ; /* supports FloodFill           */
  286. RC_STRETCHDIB    =   2000h  ; /* supports StretchDIBits       */
  287.  
  288. endif       ;NOGDICAPMASKS
  289.  
  290. ; palette entry flags
  291. ;
  292. PC_RESERVED     = 1    ;/* palette index used for animation */
  293. PC_EXPLICIT     = 2    ;/* palette index is explicit to device */
  294. PC_NOCOLLAPSE    = 4    ;/* do not match color to system palette */
  295.  
  296. ; DIB color table identifiers
  297. ;
  298. DIB_RGB_COLORS  = 0    ;/* color table in RGBTriples */
  299. DIB_PAL_COLORS  = 1    ;/* color table in palette indices */
  300. ;
  301.  
  302. ;constants for Get/SetSystemPaletteUse()
  303. ;
  304. SYSPAL_STATIC    = 1
  305. SYSPAL_NOSTATIC    = 2
  306.  
  307. ; constants for CreateDIBitmap
  308. CBM_INIT        = 4    ;/* initialize bitmap */
  309. ;
  310. ; Bitmap format constants
  311. BI_RGB          = 0
  312. BI_RLE8         = 1
  313. BI_RLE4         = 2
  314. ;
  315. ;
  316. ANSI_CHARSET    = 0
  317. SYMBOL_CHARSET    = 2
  318. OEM_CHARSET     = 255
  319. ;
  320. ;  styles for CombineRgn
  321. ;
  322. RGN_AND  = 1
  323. RGN_OR   = 2
  324. RGN_XOR  = 3
  325. RGN_DIFF = 4
  326. RGN_COPY = 5
  327. ;
  328. ;  Predefined cursor & icon IDs
  329. ;
  330. IDC_ARROW       = 32512
  331. IDC_IBEAM       = 32513
  332. IDC_WAIT        = 32514
  333. IDC_CROSS       = 32515
  334. IDC_UPARROW     = 32516
  335. IDC_SIZE        = 32640
  336. IDC_ICON        = 32641
  337. IDC_SIZENWSE    = 32642
  338. IDC_SIZENESW    = 32643
  339. IDC_SIZEWE      = 32644
  340. IDC_SIZENS      = 32645
  341.  
  342. IDI_APPLICATION = 32512
  343. IDI_HAND        = 32513
  344. IDI_QUESTION    = 32514
  345. IDI_EXCLAMATION = 32515
  346. IDI_ASTERISK    = 32516
  347.  
  348. ;
  349. ; OEM Resource Ordinal Numbers */
  350. ;
  351. OBM_CLOSE         =  32754
  352. OBM_UPARROW       =  32753
  353. OBM_DNARROW       =  32752
  354. OBM_RGARROW       =  32751
  355. OBM_LFARROW       =  32750
  356. OBM_REDUCE        =  32749
  357. OBM_ZOOM          =  32748
  358. OBM_RESTORE       =  32747
  359. OBM_REDUCED       =  32746
  360. OBM_ZOOMD         =  32745
  361. OBM_RESTORED      =  32744
  362. OBM_UPARROWD      =  32743
  363. OBM_DNARROWD      =  32742
  364. OBM_RGARROWD      =  32741
  365. OBM_LFARROWD      =  32740
  366. OBM_MNARROW       =  32739
  367. OBM_COMBO         =  32738
  368.  
  369. OBM_OLD_CLOSE     =  32767
  370. OBM_SIZE          =  32766
  371. OBM_OLD_UPARROW   =  32765
  372. OBM_OLD_DNARROW   =  32764
  373. OBM_OLD_RGARROW   =  32763
  374. OBM_OLD_LFARROW   =  32762
  375. OBM_BTSIZE        =  32761
  376. OBM_CHECK         =  32760
  377. OBM_CHECKBOXES    =  32759
  378. OBM_BTNCORNERS    =  32758
  379. OBM_OLD_REDUCE    =  32757
  380. OBM_OLD_ZOOM      =  32756
  381. OBM_OLD_RESTORE   =  32755
  382.  
  383. OCR_NORMAL        =  32512
  384. OCR_IBEAM         =  32513
  385. OCR_WAIT          =  32514
  386. OCR_CROSS         =  32515
  387. OCR_UP            =  32516
  388. OCR_SIZE          =  32640
  389. OCR_ICON          =  32641
  390. OCR_SIZENWSE      =  32642
  391. OCR_SIZENESW      =  32643
  392. OCR_SIZEWE        =  32644
  393. OCR_SIZENS        =  32645
  394. OCR_SIZEALL       =  32646
  395. OCR_ICOCUR        =  32647
  396.  
  397. OIC_SAMPLE        =  32512
  398. OIC_HAND          =  32513
  399. OIC_QUES          =  32514
  400. OIC_BANG          =  32515
  401. OIC_NOTE          =  32516
  402.  
  403. ;
  404. ;   Scroll bar constants
  405. ;
  406. SB_HORZ = 0
  407. SB_VERT = 1
  408. SB_CTL  = 2
  409. SB_BOTH = 3
  410. ;
  411. ;   Scroll Commands
  412. ;
  413. SB_LINEUP        = 0
  414. SB_LINEDOWN      = 1
  415. SB_PAGEUP        = 2
  416. SB_PAGEDOWN      = 3
  417. SB_THUMBPOSITION = 4
  418. SB_THUMBTRACK    = 5
  419. SB_TOP           = 6
  420. SB_BOTTOM        = 7
  421. SB_ENDSCROLL     = 8
  422. ;
  423. ;  MessageBox type flags
  424. ;
  425. IFNDEF                  NOMB
  426. MB_OK                   = 0000H
  427. MB_OKCANCEL             = 0001H
  428. MB_ABORTRETRYIGNORE     = 0002H
  429. MB_YESNOCANCEL          = 0003H
  430. MB_YESNO                = 0004H
  431. MB_RETRYCANCEL          = 0005H
  432.  
  433. MB_ICONHAND             = 0010H
  434. MB_ICONQUESTION         = 0020H
  435. MB_ICONEXCLAMATION      = 0030H
  436. MB_ICONASTERISK         = 0040H
  437.  
  438. MB_DEFBUTTON1           = 0000H
  439. MB_DEFBUTTON2           = 0100H
  440. MB_DEFBUTTON3           = 0200H
  441.  
  442. MB_APPLMODAL            = 0000H
  443. MB_SYSTEMMODAL          = 1000H
  444. MB_TASKMODAL            = 2000H
  445.  
  446. MB_NOFOCUS              = 8000H
  447.  
  448. ;
  449. ;  Conventional dialog box and message box command IDs
  450. ;
  451. IDOK     =   1
  452. IDCANCEL =   2
  453. IDABORT  =   3
  454. IDRETRY  =   4
  455. IDIGNORE =   5
  456. IDYES    =   6
  457. IDNO     =   7
  458. ;
  459. ;  Flags for OpenFile
  460. ;
  461. OF_READ         = 0000H
  462. OF_WRITE        = 0001H
  463. OF_READWRITE        = 0002H
  464. OF_SHARE_COMPAT        = 0000H
  465. OF_SHARE_EXCLUSIVE  = 0010H
  466. OF_SHARE_DENY_WRITE = 0020H
  467. OF_SHARE_DENY_READ  = 0030H
  468. OF_SHARE_DENY_NONE  = 0040H
  469. OF_PARSE        = 0100H
  470. OF_DELETE        = 0200H
  471. OF_VERIFY        = 0400H
  472. OF_CANCEL           = 0800H
  473. OF_CREATE           = 1000H
  474. OF_PROMPT           = 2000H
  475. OF_EXIST            = 4000H
  476. OF_REOPEN           = 8000H
  477.  
  478. TF_FORCEDRIVE   = 80H
  479.  
  480. OPENSTRUC       STRUC
  481. opLen   db      ?
  482. opDisk  db      ?
  483. opXtra  dw      ?
  484. opDate  dw      ?
  485. opTime  dw      ?
  486. opFile  db      120 dup (?)
  487. OPENSTRUC       ENDS
  488. ;
  489. ;  DrawText format flags
  490. ;
  491. DT_LEFT         = 00H
  492. DT_CENTER       = 01H
  493. DT_RIGHT        = 02H
  494. DT_TOP          = 00H
  495. DT_VCENTER      = 04H
  496. DT_BOTTOM       = 08H
  497. DT_WORDBREAK    = 10H
  498. DT_SINGLELINE   = 20H
  499. DT_EXPANDTABS   = 40H
  500. DT_TABSTOP      = 80H
  501. DT_NOCLIP       =    0100H
  502. DT_EXTERNALLEADING = 0200H
  503. DT_CALCRECT     =    0400H
  504. DT_NOPREFIX     =    0800H
  505. DT_INTERNAL     =    1000H
  506. ENDIF
  507.  
  508. ;
  509. ; ExtFloodFill style flags
  510. ;
  511. FLOODFILLBORDER  =  0
  512. FLOODFILLSURFACE =  1
  513.  
  514. ;
  515. ; Memory manager flags
  516. ;
  517. LMEM_FIXED      =   0000h
  518. LMEM_MOVEABLE   =   0002h
  519. LMEM_NOCOMPACT  =   0010H
  520. LMEM_NODISCARD  =   0020H
  521. LMEM_ZEROINIT   =   0040h
  522. LMEM_MODIFY     =   0080H
  523. LMEM_DISCARDABLE=   0F00h
  524. LHND    =    LMEM_MOVEABLE+LMEM_ZEROINIT
  525. LPTR    =    LMEM_FIXED+LMEM_ZEROINIT
  526. ; Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE)
  527. LMEM_DISCARDED  =   4000H
  528. LMEM_LOCKCOUNT  =   00FFH
  529.  
  530. NONZEROLHND     =    LMEM_MOVEABLE
  531. NONZEROLPTR     =    LMEM_FIXED
  532.  
  533. LNOTIFY_OUTOFMEM  =  0
  534. LNOTIFY_MOVE      =  1
  535. LNOTIFY_DISCARD   =  2
  536.  
  537.  
  538. GMEM_FIXED      =   0000h
  539. GMEM_MOVEABLE   =   0002h
  540. GMEM_NOCOMPACT  =   0010h
  541. GMEM_NODISCARD  =   0020h
  542. GMEM_ZEROINIT   =   0040h
  543. GMEM_MODIFY     =   0080h
  544. GMEM_DISCARDABLE=   0100h
  545. GMEM_NOT_BANKED =   1000h
  546. GMEM_DDESHARE   =   2000h
  547. GMEM_SHARE    =   2000h
  548. GMEM_NOTIFY     =   4000h
  549. GMEM_LOWER      =   GMEM_NOT_BANKED
  550. GHND    =    GMEM_MOVEABLE+GMEM_ZEROINIT
  551. GPTR    =    GMEM_FIXED+GMEM_ZEROINIT
  552.  
  553. ; Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE)
  554. GMEM_DISCARDED  =    4000h
  555. GMEM_LOCKCOUNT  =    00FFh
  556.  
  557. ; Flags returned by GetWinFlags
  558.  
  559. WF_PMODE        =    0001h
  560. WF_CPU286       =    0002h
  561. WF_CPU386       =    0004h
  562. WF_CPU486       =    0008h
  563. WF_STANDARD    =    0010h
  564. WF_WIN286    =    0010h
  565. WF_ENHANCED    =    0020h
  566. WF_WIN386    =    0020h
  567. WF_CPU086    =    0040h
  568. WF_CPU186    =    0080h
  569. WF_LARGEFRAME   =    0100h
  570. WF_SMALLFRAME   =    0200h
  571. WF_80x87    =    0400h
  572.  
  573. ; WEP fSystemExit flag values
  574. WEP_SYSTEM_EXIT    =    1
  575. WEP_FREE_DLL    =    0
  576.  
  577. ;  Virtual Keys, Standard Set
  578.  
  579. IFNDEF          NOVK
  580. VK_LBUTTON      = 01H
  581. VK_RBUTTON      = 02H
  582. VK_CANCEL       = 03H
  583. VK_BACK         = 08H
  584. VK_TAB          = 09H
  585. VK_CLEAR        = 0cH
  586. VK_RETURN       = 0dH
  587. VK_SHIFT        = 10H
  588. VK_CONTROL      = 11H
  589. VK_MENU         = 12H
  590. VK_PAUSE        = 13H
  591. VK_CAPITAL      = 14H
  592. VK_ESCAPE       = 1bH
  593. VK_SPACE        = 20H
  594.  
  595. VK_PRIOR        = 21H
  596. VK_NEXT         = 22H
  597. VK_END          = 23H
  598. VK_HOME         = 24H
  599. VK_LEFT         = 25H
  600. VK_UP           = 26H
  601. VK_RIGHT        = 27H
  602. VK_DOWN         = 28H
  603.  
  604. ;  VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  605. ;  VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0'
  606.  
  607. VK_PRINT        = 2aH
  608. VK_EXECUTE      = 2bH
  609. VK_SNAPSHOT    = 2ch    ; Printscreen key..
  610. VK_INSERT       = 2dH
  611. VK_DELETE       = 2eH
  612. VK_HELP         = 2fH
  613.  
  614. VK_NUMPAD0      = 60H
  615. VK_NUMPAD1      = 61H
  616. VK_NUMPAD2      = 62H
  617. VK_NUMPAD3      = 63H
  618. VK_NUMPAD4      = 64H
  619. VK_NUMPAD5      = 65H
  620. VK_NUMPAD6      = 66H
  621. VK_NUMPAD7      = 67H
  622. VK_NUMPAD8      = 68H
  623. VK_NUMPAD9      = 69H
  624. VK_MULTIPLY     = 6AH
  625. VK_ADD          = 6BH
  626. VK_SEPARATER    = 6CH
  627. VK_SUBTRACT     = 6DH
  628. VK_DECIMAL      = 6EH
  629. VK_DIVIDE       = 6FH
  630.  
  631. VK_F1           = 70H
  632. VK_F2           = 71H
  633. VK_F3           = 72H
  634. VK_F4           = 73H
  635. VK_F5           = 74H
  636. VK_F6           = 75H
  637. VK_F7           = 76H
  638. VK_F8           = 77H
  639. VK_F9           = 78H
  640. VK_F10          = 79H
  641. VK_F11          = 7aH
  642. VK_F12          = 7bH
  643. VK_F13          = 7cH
  644. VK_F14          = 7dH
  645. VK_F15          = 7eH
  646. VK_F16          = 7fH
  647. ENDIF
  648.  
  649. IFNDEF NOWH
  650.  
  651. ; SetWindowsHook() codes
  652. WH_MSGFILTER       = (-1)
  653. WH_JOURNALRECORD   = 0
  654. WH_JOURNALPLAYBACK = 1
  655. WH_KEYBOARD        = 2
  656. WH_GETMESSAGE      = 3
  657. WH_CALLWNDPROC     = 4
  658. WH_CBT             = 5
  659. WH_SYSMSGFILTER    = 6
  660. WH_WINDOWMGR       = 7
  661. ;
  662. ; Hook Codes
  663. HC_LPLPFNNEXT      = (-2)
  664. HC_LPFNNEXT        = (-1)
  665. HC_ACTION          = 0
  666. HC_GETNEXT         = 1
  667. HC_SKIP            = 2
  668. HC_NOREM           = 3
  669. HC_NOREMOVE        = 3
  670. HC_SYSMODALON      = 4
  671. HC_SYSMODALOFF     = 5
  672. ;
  673. ; CBT Hook Codes
  674. HCBT_MOVESIZE      = 0
  675. HCBT_MINMAX        = 1
  676. HCBT_QS            = 2
  677. ;
  678. ; WH_MSGFILTER Filter Proc Codes
  679. MSGF_DIALOGBOX     = 0
  680. MSGF_MESSAGEBOX    = 1
  681. MSGF_MENU          = 2
  682. MSGF_MOVE          = 3
  683. MSGF_SIZE          = 4
  684. MSGF_SCROLLBAR     = 5
  685. MSGF_NEXTWINDOW    = 6
  686. ;
  687. ; Window Manager Hook Codes
  688. WC_INIT            = 1
  689. WC_SWP             = 2
  690. WC_DEFWINDOWPROC   = 3
  691. WC_MINMAX          = 4
  692. WC_MOVE            = 5
  693. WC_SIZE            = 6
  694. WC_DRAWCAPTION     = 7
  695. ;
  696. ; Message Structure used in Journaling
  697. EVENTMSG    struc
  698.     message     dw ?
  699.     paramL      dw ?
  700.     paramH      dw ?
  701.     time        dd ?
  702. EVENTMSG    ends
  703.  
  704. ENDIF ;NOWH
  705.  
  706. ; Window field offsets for GetWindowLong() and GetWindowWord()
  707. GWL_WNDPROC       =  (-4)
  708. GWW_HINSTANCE     =  (-6)
  709. GWW_HWNDPARENT    =  (-8)
  710. GWW_ID            =  (-12)
  711. GWL_STYLE         =  (-16)
  712. GWL_EXSTYLE       =  (-20)
  713.  
  714. ; GetWindow() Constants
  715. GW_HWNDFIRST      =  0
  716. GW_HWNDLAST      =  1
  717. GW_HWNDNEXT      =  2
  718. GW_HWNDPREV      =  3
  719. GW_OWNER      =  4
  720. GW_CHILD      =  5
  721.  
  722. ; Class field offsets for GetClassLong() and GetClassWord()
  723. GCL_MENUNAME      =  (-8)
  724. GCW_HBRBACKGROUND =  (-10)
  725. GCW_HCURSOR       =  (-12)
  726. GCW_HICON         =  (-14)
  727. GCW_HMODULE       =  (-16)
  728. GCW_CBWNDEXTRA    =  (-18)
  729. GCW_CBCLSEXTRA    =  (-20)
  730. GCL_WNDPROC       =  (-24)
  731. GCW_STYLE         =  (-26)
  732.  
  733. ; WinWhere() Area Codes
  734. HTERROR           =  (-2)
  735. HTTRANSPARENT     =  (-1)
  736. HTNOWHERE         =  0
  737. HTCLIENT          =  1
  738. HTCAPTION         =  2
  739. HTSYSMENU         =  3
  740. HTGROWBOX         =  4
  741. HTSIZE            =  HTGROWBOX
  742. HTMENU            =  5
  743. HTHSCROLL         =  6
  744. HTVSCROLL         =  7
  745. HTREDUCE          =  8
  746. HTZOOM            =  9
  747. HTLEFT            =  10
  748. HTRIGHT           =  11
  749. HTTOP             =  12
  750. HTTOPLEFT         =  13
  751. HTTOPRIGHT        =  14
  752. HTBOTTOM          =  15
  753. HTBOTTOMLEFT      =  16
  754. HTBOTTOMRIGHT     =  17
  755. HTSIZEFIRST       =  HTLEFT
  756. HTSIZELAST        =  HTBOTTOMRIGHT
  757.  
  758.  
  759.  
  760. ;*************************************************************************
  761. ;
  762. ;       Misc structures & constants
  763. ;
  764. ;*************************************************************************
  765.  
  766. IFNDEF  NOMST
  767. POINT   struc
  768.         ptX             dw      ?
  769.         ptY             dw      ?
  770. POINT   ends
  771.  
  772. LOGPEN struc
  773.     lopnStyle       dw ?
  774.     lopnWidth       db (SIZE POINT) DUP(?)
  775.     lopnColor       dd ?
  776. LOGPEN ends
  777.  
  778.  
  779. BITMAP STRUC
  780.         bmType         DW ?
  781.         bmWidth        DW ?
  782.         bmHeight       DW ?
  783.         bmWidthBytes   DW ?
  784.         bmPlanes       DB ?
  785.         bmBitsPixel    DB ?
  786.         bmBits         DD ?
  787. BITMAP ENDS
  788.  
  789. RGBTRIPLE    struc
  790.     rgbBlue        db ?
  791.     rgbGreen    db ?
  792.     rgbRed        db ?
  793. RGBTRIPLE    ends
  794.  
  795. RGBQUAD         struc
  796.         rgbqBlue        db ?
  797.         rgbqGreen       db ?
  798.         rgbqRed         db ?
  799.         rgbqReserved    db ?
  800. RGBQUAD         ends
  801.  
  802. ; structures for defining DIBs
  803. BITMAPCOREHEADER struc
  804.         bcSize      dd ?
  805.         bcWidth     dw ?
  806.         bcHeight    dw ?
  807.         bcPlanes    dw ?
  808.         bcBitCount  dw ?
  809. BITMAPCOREHEADER ends
  810.  
  811. BITMAPINFOHEADER struc
  812.         biSize           dd ?
  813.         biWidth          dd ?
  814.         biHeight         dd ?
  815.         biPlanes         dw ?
  816.         biBitCount       dw ?
  817.  
  818.         biCompression    dd ?
  819.         biSizeImage      dd ?
  820.         biXPelsPerMeter  dd ?
  821.         biYPelsPerMeter  dd ?
  822.         biClrUsed        dd ?
  823.         biClrImportant   dd ?
  824. BITMAPINFOHEADER ends
  825.  
  826. BITMAPINFO  struc
  827.     bmiHeader   db (SIZE BITMAPINFOHEADER) DUP (?)
  828.     bmiColors   db ?            ; array of RGBQUADs
  829. BITMAPINFO  ends
  830.  
  831. BITMAPCOREINFO  struc
  832.     bmciHeader  db (SIZE BITMAPCOREHEADER) DUP (?)
  833.     bmciColors  db ?            ; array of RGBTRIPLEs
  834. BITMAPCOREINFO  ends
  835.  
  836. BITMAPFILEHEADER struc
  837.     bfType          dw ?
  838.     bfSize          dd ?
  839.     bfReserved1     dw ?
  840.     bfReserved2     dw ?
  841.     bfOffBits       dd ?
  842. BITMAPFILEHEADER ends
  843.  
  844.  
  845. WNDSTRUC struc
  846.         WSwndStyle        dd      ?
  847.         WSwndID           dw      ?
  848.         WSwndText         dw      ?
  849.         WSwndParent       dw      ?
  850.         WSwndInstance     dw      ?
  851.         WSwndClassProc    dd      ?
  852. WNDSTRUC ends
  853. ;
  854. ;  Message structure
  855. ;
  856. MSGSTRUCT       struc
  857. msHWND          dw      ?
  858. msMESSAGE       dw      ?
  859. msWPARAM        dw      ?
  860. msLPARAM        dd      ?
  861. msTIME          dd      ?
  862. msPT            dd      ?
  863. MSGSTRUCT       ends
  864.  
  865. NEWPARMS struc
  866.         nprmHwnd        dw      ?
  867.         nprmCmd         db      ?
  868. NEWPARMS ends
  869. ENDIF
  870.  
  871. PAINTSTRUCT STRUC
  872.     PShdc         DW ?
  873.     PSfErase      DW ?
  874.     PSrcPaint     DB size RECT dup(?)
  875.     PSfRestore    DW ?
  876.     PSfIncUpdate  DW ?
  877.     PSrgbReserved DB 16 dup(?)
  878. PAINTSTRUCT ENDS
  879.  
  880.  
  881. CREATESTRUCT struc
  882.     cs_lpCreateParams  dd ?
  883.     cs_hInstance       dw ?
  884.     cs_hMenu           dw ?
  885.     cs_hwndParent      dw ?
  886.     cs_cy              dw ?
  887.     cs_cx              dw ?
  888.     cs_y               dw ?
  889.     cs_x               dw ?
  890.     cs_style           dd ?
  891.     cs_lpszName        dd ?
  892.     cs_lpszClass       dd ?
  893.     cs_dwExStyle       dd ?
  894. CREATESTRUCT  ends
  895. ;
  896. ;       PostError constants
  897. ;
  898. WARNING     = 0           ; command codes
  899. MINOR_ERROR = 1
  900. FATAL_ERROR = 2
  901.  
  902. IGNORE      = 0           ; response codes
  903. RETRY       = 1
  904. ABORT       = 2
  905. ;
  906. ; GDI-related constants & commands
  907. ;
  908. ERRORREGION     = 0
  909. NULLREGION      = 1
  910. SIMPLEREGION    = 2
  911. COMPLEXREGION   = 3
  912.  
  913. IFNDEF NORASTOPS
  914. ;
  915. ; Binary raster ops
  916. ;
  917. R2_BLACK        =  1
  918. R2_NOTMERGEPEN  =  2
  919. R2_MASKNOTPEN   =  3
  920. R2_NOTCOPYPEN   =  4
  921. R2_MASKPENNOT   =  5
  922. R2_NOT          =  6
  923. R2_XORPEN       =  7
  924. R2_NOTMASKPEN   =  8
  925. R2_MASKPEN      =  9
  926. R2_NOTXORPEN    = 10
  927. R2_NOP          = 11
  928. R2_MERGENOTPEN  = 12
  929. R2_COPYPEN      = 13
  930. R2_MERGEPENNOT  = 14
  931. R2_MERGEPEN     = 15
  932. R2_WHITE        = 16
  933. ;
  934. ; Ternary raster ops
  935. ;
  936. SRCCOPY_L     = 0020h   ;dest=source
  937. SRCCOPY_H     = 00CCh
  938. SRCPAINT_L    = 0086h   ;dest=source OR dest
  939. SRCPAINT_H    = 00EEh
  940. SRCAND_L      = 00C6h   ;dest=source AND   dest
  941. SRCAND_H      = 0088h
  942. SRCINVERT_L   = 0046h   ;dest= source XOR      dest
  943. SRCINVERT_H   = 0066h
  944. SRCERASE_L    = 0328h   ;dest= source AND (not dest )
  945. SRCERASE_H    = 0044h
  946. NOTSRCCOPY_L  = 0008h   ;dest= (not source)
  947. NOTSRCCOPY_H  = 0033h
  948. NOTSRCERASE_L = 00A6h   ;dest= (not source) AND (not dest)
  949. NOTSRCERASE_H = 0011h
  950. MERGECOPY_L   = 00CAh   ;dest= (source AND pattern)
  951. MERGECOPY_H   = 00C0h
  952. MERGEPAINT_L  = 0226h   ;dest= (source AND pattern) OR dest
  953. MERGEPAINT_H  = 00BBh
  954. PATCOPY_L     = 0021h   ;dest= pattern
  955. PATCOPY_H     = 00F0h
  956. PATPAINT_L    = 0A09h   ;DPSnoo
  957. PATPAINT_H    = 00FBh
  958. PATINVERT_L   = 0049h   ;dest= pattern XOR     dest
  959. PATINVERT_H   = 005Ah
  960. DSTINVERT_L   = 0009h   ;dest= (not dest)
  961. DSTINVERT_H   = 0055h
  962. BLACKNESS_L   = 0042h   ;dest= BLACK
  963. BLACKNESS_H   = 0000h
  964. WHITENESS_L   = 0062h   ;dest= WHITE
  965. WHITENESS_H   = 00FFh
  966. ;
  967. ; StretchBlt modes
  968. ;
  969. BLACKONWHITE    = 1
  970. WHITEONBLACK    = 2
  971. COLORONCOLOR    = 3
  972. ;
  973. ; PolyFill modes
  974. ;
  975. ALTERNATE       = 1
  976. WINDING         = 2
  977. ENDIF
  978. ;
  979. ; Text Alignment Options
  980. ;
  981. TA_NOUPDATECP   =  0
  982. TA_UPDATECP     =  1
  983.  
  984. TA_LEFT         =  0
  985. TA_RIGHT        =  2
  986. TA_CENTER       =  6
  987.  
  988. TA_TOP          =  0
  989. TA_BOTTOM       =  8
  990. TA_BASELINE     =  24
  991.  
  992. ETO_GRAYED      =  1
  993. ETO_OPAQUE      =  2
  994. ETO_CLIPPED     =  4
  995.  
  996. ASPECT_FILTERING = 1
  997.  
  998. ifndef NOMETAFILE
  999.  
  1000. ; Metafile Functions */
  1001. META_SETBKCOLOR            =  0201h
  1002. META_SETBKMODE             =  0102h
  1003. META_SETMAPMODE            =  0103h
  1004. META_SETROP2               =  0104h
  1005. META_SETRELABS             =  0105h
  1006. META_SETPOLYFILLMODE       =  0106h
  1007. META_SETSTRETCHBLTMODE     =  0107h
  1008. META_SETTEXTCHAREXTRA      =  0108h
  1009. META_SETTEXTCOLOR          =  0209h
  1010. META_SETTEXTJUSTIFICATION  =  020Ah
  1011. META_SETWINDOWORG          =  020Bh
  1012. META_SETWINDOWEXT          =  020Ch
  1013. META_SETVIEWPORTORG        =  020Dh
  1014. META_SETVIEWPORTEXT        =  020Eh
  1015. META_OFFSETWINDOWORG       =  020Fh
  1016. META_SCALEWINDOWEXT        =  0400h
  1017. META_OFFSETVIEWPORTORG     =  0211h
  1018. META_SCALEVIEWPORTEXT      =  0412h
  1019. META_LINETO                =  0213h
  1020. META_MOVETO                =  0214h
  1021. META_EXCLUDECLIPRECT       =  0415h
  1022. META_INTERSECTCLIPRECT     =  0416h
  1023. META_ARC                   =  0817h
  1024. META_ELLIPSE               =  0418h
  1025. META_FLOODFILL             =  0419h
  1026. META_PIE                   =  081Ah
  1027. META_RECTANGLE             =  041Bh
  1028. META_ROUNDRECT             =  061Ch
  1029. META_PATBLT                =  061Dh
  1030. META_SAVEDC                =  001Eh
  1031. META_SETPIXEL              =  041Fh
  1032. META_OFFSETCLIPRGN         =  0220h
  1033. META_TEXTOUT               =  0521h
  1034. META_BITBLT                =  0922h
  1035. META_STRETCHBLT            =  0B23h
  1036. META_POLYGON               =  0324h
  1037. META_POLYLINE              =  0325h
  1038. META_ESCAPE                =  0626h
  1039. META_RESTOREDC             =  0127h
  1040. META_FILLREGION            =  0228h
  1041. META_FRAMEREGION           =  0429h
  1042. META_INVERTREGION          =  012Ah
  1043. META_PAINTREGION           =  012Bh
  1044. META_SELECTCLIPREGION      =  012Ch
  1045. META_SELECTOBJECT          =  012Dh
  1046. META_SETTEXTALIGN          =  012Eh
  1047. META_DRAWTEXT              =  062Fh
  1048.  
  1049. META_CHORD           =  0830h
  1050. META_SETMAPPERFLAGS       =  0231h
  1051. META_EXTTEXTOUT           =  0a32h
  1052. META_SETDIBTODEV       =  0d33h
  1053. META_SELECTPALETTE       =  0234h
  1054. META_REALIZEPALETTE       =  0035h
  1055. META_ANIMATEPALETTE       =  0436h
  1056. META_SETPALENTRIES       =  0037h
  1057. META_POLYPOLYGON       =  0538h
  1058. META_RESIZEPALETTE       =  0139h
  1059.  
  1060. META_DIBBITBLT           =  0940h
  1061. META_DIBSTRETCHBLT       =  0b41h
  1062. META_DIBCREATEPATTERNBRUSH =  0142h
  1063. META_STRETCHDIB           =  0f43h
  1064.  
  1065. META_DELETEOBJECT       =  01f0h
  1066.  
  1067. META_CREATEPALETTE       =  00f7h
  1068. META_CREATEBRUSH           =  00F8h
  1069. META_CREATEPATTERNBRUSH    =  01F9h
  1070. META_CREATEPENINDIRECT     =  02FAh
  1071. META_CREATEFONTINDIRECT    =  02FBh
  1072. META_CREATEBRUSHINDIRECT   =  02FCh
  1073. META_CREATEBITMAPINDIRECT  =  02FDh
  1074. META_CREATEBITMAP          =  06FEh
  1075. META_CREATEREGION          =  06FFh
  1076.  
  1077. ; /* Clipboard Metafile Picture Structure */
  1078. HANDLETABLE struc
  1079.     ht_objectHandle  dw      ?
  1080. HANDLETABLE ends
  1081.  
  1082. METARECORD struc
  1083.     mr_rdSize         dd      ?
  1084.     mr_rdFunction    dw      ?
  1085.     mr_rdParm         dw      ?
  1086. METARECORD ends
  1087.  
  1088. METAFILEPICT struc
  1089.     mfp_mm    dw    ?
  1090.     mfp_xExt    dw    ?
  1091.     mfp_yExt    dw    ?
  1092.     mfp_hMF    dw    ?
  1093. METAFILEPICT ends
  1094.  
  1095. METAHEADER struc
  1096.   mtType    dw    ?
  1097.   mtHeaderSize    dw    ?
  1098.   mtVersion    dw    ?
  1099.   mtSize    dd    ?
  1100.   mtNoObjects    dw    ?
  1101.   mtMaxRecord    dd    ?
  1102.   mtNoParameters dw    ?
  1103. METAHEADER ends
  1104.  
  1105. endif ; NOMETAFILE
  1106.  
  1107. ; GDI Escapes
  1108. NEWFRAME                  =   1
  1109. ABORTDOC                  =   2
  1110. NEXTBAND                  =   3
  1111. SETCOLORTABLE             =   4
  1112. GETCOLORTABLE             =   5
  1113. FLUSHOUTPUT               =   6
  1114. DRAFTMODE                 =   7
  1115. QUERYESCSUPPORT           =   8
  1116. SETABORTPROC              =   9
  1117. STARTDOC                  =   10
  1118. ;; This value conflicts with a std WIN386 MACRO definition
  1119. ;;ENDDOC            =    11
  1120. GETPHYSPAGESIZE           =   12
  1121. GETPRINTINGOFFSET         =   13
  1122. GETSCALINGFACTOR          =   14
  1123. MFCOMMENT                 =   15
  1124. GETPENWIDTH               =   16
  1125. SETCOPYCOUNT              =   17
  1126. SELECTPAPERSOURCE         =   18
  1127. DEVICEDATA                =   19
  1128. PASSTHROUGH               =   19
  1129. GETTECHNOLGY          =   20
  1130. GETTECHNOLOGY          =   20
  1131. SETENDCAP                 =   21
  1132. SETLINEJOIN               =   22
  1133. SETMITERLIMIT             =   23
  1134. BANDINFO                  =   24
  1135. DRAWPATTERNRECT           =   25
  1136. GETVECTORPENSIZE          =   26
  1137. GETVECTORBRUSHSIZE        =   27
  1138. ENABLEDUPLEX              =   28
  1139. ENABLEMANUALFEED      =   29
  1140. GETSETPAPERBINS       =   29
  1141. GETSETPRINTORIENT      =   30
  1142. ENUMPAPERBINS          =   31
  1143.  
  1144. GETEXTENDEDTEXTMETRICS    =   256
  1145. GETEXTENTTABLE            =   257
  1146. GETPAIRKERNTABLE          =   258
  1147. GETTRACKKERNTABLE         =   259
  1148.  
  1149. EXTTEXTOUT                =   512
  1150.  
  1151. ENABLERELATIVEWIDTHS      =   768
  1152. ENABLEPAIRKERNING         =   769
  1153. SETKERNTRACK              =   770
  1154. SETALLJUSTVALUES      =   771
  1155. SETCHARSET          =   772
  1156.  
  1157. STRETCHBLT                =   2048
  1158.  
  1159.  
  1160. ; Spooler Error Codes
  1161. SP_NOTREPORTED            =   4000h
  1162. SP_ERROR                  =   (-1)
  1163. SP_APPABORT               =   (-2)
  1164. SP_USERABORT              =   (-3)
  1165. SP_OUTOFDISK              =   (-4)
  1166. SP_OUTOFMEMORY            =   (-5)
  1167.  
  1168. PR_JOBSTATUS              =   0000
  1169.  
  1170. ; Object Definitions for EnumObjects()
  1171. OBJ_PEN                   =   1
  1172. OBJ_BRUSH                 =   2
  1173.  
  1174. ;
  1175. ; Menu flags for Change/Check/Enable MenuItem
  1176. ;
  1177. MF_INSERT       =   0000h
  1178. MF_CHANGE       =   0080h
  1179. MF_APPEND       =   0100h
  1180. MF_DELETE       =   0200h
  1181. MF_REMOVE       =   1000h
  1182.  
  1183. MF_BYCOMMAND    =   0000h
  1184. MF_BYPOSITION   =   0400h
  1185.  
  1186. MF_SEPARATOR    =   0800h
  1187.  
  1188. MF_ENABLED      =   0000h
  1189. MF_GRAYED       =   0001h
  1190. MF_DISABLED     =   0002h
  1191.  
  1192. MF_UNCHECKED    =   0000h
  1193. MF_CHECKED      =   0008h
  1194. MF_USECHECKBITMAPS= 0200h
  1195.  
  1196. MF_STRING       =   0000h
  1197. MF_BITMAP       =   0004h
  1198. MF_OWNERDRAW    =   0100h
  1199.  
  1200. MF_POPUP        =   0010h
  1201. MF_MENUBARBREAK =   0020h
  1202. MF_MENUBREAK    =   0040h
  1203.  
  1204. MF_UNHILITE     =   0000h
  1205. MF_HILITE       =   0080h
  1206.  
  1207. MF_SYSMENU      =   2000h
  1208. MF_HELP         =   4000h
  1209. MF_MOUSESELECT  =   8000h
  1210.  
  1211.  
  1212. ;
  1213. ;  System Menu Command Values
  1214. ;
  1215. SC_SIZE        = 0F000h
  1216. SC_MOVE        = 0F010h
  1217. SC_MINIMIZE    = 0F020h
  1218. SC_MAXIMIZE    = 0F030h
  1219. SC_NEXTWINDOW  = 0F040h
  1220. SC_PREVWINDOW  = 0F050h
  1221. SC_CLOSE       = 0F060h
  1222. SC_VSCROLL     = 0F070h
  1223. SC_HSCROLL     = 0F080h
  1224. SC_MOUSEMENU   = 0F090h
  1225. SC_KEYMENU     = 0F100h
  1226. SC_ARRANGE     = 0F110h
  1227. SC_RESTORE     = 0F120h
  1228. SC_TASKLIST    = 0F130h
  1229.  
  1230. SC_ICON        = SC_MINIMIZE
  1231. SC_ZOOM        = SC_MAXIMIZE
  1232.  
  1233. ;
  1234. ;  Window State Messages
  1235. ;
  1236. IFNDEF  NOWM
  1237. WM_STATE            = 0000H
  1238.  
  1239. WM_NULL             = 0000h
  1240. WM_CREATE           = 0001h
  1241. WM_DESTROY          = 0002h
  1242. WM_MOVE             = 0003h
  1243. WM_SIZE             = 0005h
  1244. WM_ACTIVATE         = 0006h
  1245. WM_SETFOCUS         = 0007h
  1246. WM_KILLFOCUS        = 0008h
  1247. WM_ENABLE           = 000Ah
  1248. WM_SETREDRAW        = 000Bh
  1249. WM_SETTEXT          = 000Ch
  1250. WM_GETTEXT          = 000Dh
  1251. WM_GETTEXTLENGTH    = 000Eh
  1252. WM_PAINT            = 000Fh
  1253. WM_CLOSE            = 0010h
  1254. WM_QUERYENDSESSION  = 0011h
  1255. WM_QUIT             = 0012h
  1256. WM_QUERYOPEN        = 0013h
  1257. WM_ERASEBKGND       = 0014h
  1258. WM_SYSCOLORCHANGE   = 0015h
  1259. WM_ENDSESSION       = 0016h
  1260. WM_SHOWWINDOW       = 0018h
  1261. WM_CTLCOLOR         = 0019h
  1262. WM_WININICHANGE     = 001Ah
  1263. WM_DEVMODECHANGE    = 001Bh
  1264. WM_ACTIVATEAPP      = 001Ch
  1265. WM_FONTCHANGE       = 001Dh
  1266. WM_TIMECHANGE       = 001Eh
  1267. WM_CANCELMODE       = 001Fh
  1268. WM_SETCURSOR        = 0020h
  1269. WM_MOUSEACTIVATE    = 0021h
  1270. WM_CHILDACTIVATE    = 0022h
  1271. WM_QUEUESYNC        = 0023h
  1272. WM_GETMINMAXINFO    = 0024h
  1273. WM_PAINTICON        = 0026h
  1274. WM_ICONERASEBKGND   = 0027h
  1275. WM_NEXTDLGCTL       = 0028h
  1276. WM_SPOOLERSTATUS    = 002Ah
  1277. WM_DRAWITEM         = 002Bh
  1278. WM_MEASUREITEM      = 002Ch
  1279. WM_DELETEITEM       = 002Dh
  1280. WM_VKEYTOITEM       = 002Eh
  1281. WM_CHARTOITEM       = 002Fh
  1282. WM_SETFONT          = 0030h
  1283. WM_GETFONT          = 0031h
  1284. WM_QUERYDRAGICON    = 0037h
  1285. WM_COMPAREITEM        = 0039h
  1286. WM_COMPACTING       = 0041h
  1287.  
  1288. WM_NCCREATE         = 0081h
  1289. WM_NCDESTROY        = 0082h
  1290. WM_NCCALCSIZE       = 0083h
  1291. WM_NCHITTEST        = 0084h
  1292. WM_NCPAINT          = 0085h
  1293. WM_NCACTIVATE       = 0086h
  1294. WM_GETDLGCODE       = 0087h
  1295. WM_NCMOUSEMOVE      = 00A0h
  1296. WM_NCLBUTTONDOWN    = 00A1h
  1297. WM_NCLBUTTONUP      = 00A2h
  1298. WM_NCLBUTTONDBLCLK  = 00A3h
  1299. WM_NCRBUTTONDOWN    = 00A4h
  1300. WM_NCRBUTTONUP      = 00A5h
  1301. WM_NCRBUTTONDBLCLK  = 00A6h
  1302. WM_NCMBUTTONDOWN    = 00A7h
  1303. WM_NCMBUTTONUP      = 00A8h
  1304. WM_NCMBUTTONDBLCLK  = 00A9h
  1305.  
  1306. WM_KEYFIRST         = 0100h
  1307. WM_KEYDOWN          = 0100h
  1308. WM_KEYUP            = 0101h
  1309. WM_CHAR             = 0102h
  1310. WM_DEADCHAR         = 0103h
  1311. WM_SYSKEYDOWN       = 0104h
  1312. WM_SYSKEYUP         = 0105h
  1313. WM_SYSCHAR          = 0106h
  1314. WM_SYSDEADCHAR      = 0107h
  1315. WM_KEYLAST          = 0108h
  1316.  
  1317. WM_INITDIALOG       = 0110h
  1318. WM_COMMAND          = 0111h
  1319. WM_SYSCOMMAND       = 0112h
  1320. WM_TIMER            = 0113h
  1321. WM_HSCROLL          = 0114h
  1322. WM_VSCROLL          = 0115h
  1323. WM_INITMENU         = 0116h
  1324. WM_INITMENUPOPUP    = 0117h
  1325. WM_MENUSELECT       = 011Fh
  1326. WM_MENUCHAR         = 0120h
  1327. WM_ENTERIDLE        = 0121h
  1328.  
  1329.               
  1330. WM_MOUSEFIRST       = 0200h
  1331. WM_MOUSEMOVE        = 0200h
  1332. WM_LBUTTONDOWN      = 0201h
  1333. WM_LBUTTONUP        = 0202h
  1334. WM_LBUTTONDBLCLK    = 0203h
  1335. WM_RBUTTONDOWN      = 0204h
  1336. WM_RBUTTONUP        = 0205h
  1337. WM_RBUTTONDBLCLK    = 0206h
  1338. WM_MBUTTONDOWN      = 0207h
  1339. WM_MBUTTONUP        = 0208h
  1340. WM_MBUTTONDBLCLK    = 0209h
  1341. WM_MOUSELAST        = 0209h
  1342.  
  1343. WM_PARENTNOTIFY     = 0210h
  1344. WM_MDICREATE        = 0220h
  1345. WM_MDIDESTROY       = 0221h
  1346. WM_MDIACTIVATE      = 0222h
  1347. WM_MDIRESTORE       = 0223h
  1348. WM_MDINEXT          = 0224h
  1349. WM_MDIMAXIMIZE      = 0225h
  1350. WM_MDITILE          = 0226h
  1351. WM_MDICASCADE       = 0227h
  1352. WM_MDIICONARRANGE   = 0228h
  1353. WM_MDIGETACTIVE     = 0229h
  1354. WM_MDISETMENU       = 0230h
  1355.  
  1356.  
  1357. WM_CUT              = 0300h
  1358. WM_COPY             = 0301h
  1359. WM_PASTE            = 0302h
  1360. WM_CLEAR            = 0303h
  1361. WM_UNDO             = 0304h
  1362. WM_RENDERFORMAT     = 0305h
  1363. WM_RENDERALLFORMATS = 0306h
  1364. WM_DESTROYCLIPBOARD = 0307h
  1365. WM_DRAWCLIPBOARD    = 0308h
  1366. WM_PAINTCLIPBOARD   = 0309h
  1367. WM_VSCROLLCLIPBOARD = 030Ah
  1368. WM_SIZECLIPBOARD    = 030Bh
  1369. WM_ASKCBFORMATNAME  = 030Ch
  1370. WM_CHANGECBCHAIN    = 030Dh
  1371. WM_HSCROLLCLIPBOARD = 030Eh
  1372. WM_QUERYNEWPALETTE  = 030Fh
  1373. WM_PALETTEISCHANGING = 0310h
  1374. WM_PALETTECHANGED   = 0311h
  1375.  
  1376.  
  1377. ;  private window messages start here
  1378. WM_USER             = 0400H
  1379. ENDIF           ; NOWM
  1380.  
  1381. ; WM_MOUSEACTIVATE Return Codes
  1382. MA_ACTIVATE       =  1
  1383. MA_ACTIVATEANDEAT =  2
  1384. MA_NOACTIVATE     =  3
  1385.  
  1386. ; Size message commands
  1387. SIZENORMAL       = 0
  1388. SIZEICONIC       = 1
  1389. SIZEFULLSCREEN   = 2
  1390. SIZEZOOMSHOW     = 3
  1391. SIZEZOOMHIDE     = 4
  1392.  
  1393. ; ShowWindow() Commands
  1394. SW_HIDE            = 0
  1395. SW_SHOWNORMAL      = 1
  1396. SW_NORMAL          = 1
  1397. SW_SHOWMINIMIZED   = 2
  1398. SW_SHOWMAXIMIZED   = 3
  1399. SW_MAXIMIZE        = 3
  1400. SW_SHOWNOACTIVATE  = 4
  1401. SW_SHOW            = 5
  1402. SW_MINIMIZE        = 6
  1403. SW_SHOWMINNOACTIVE = 7
  1404. SW_SHOWNA          = 8
  1405. SW_RESTORE         = 9
  1406.  
  1407. ; Old ShowWindow() Commands
  1408. HIDE_WINDOW        = 0
  1409. SHOW_OPENWINDOW    = 1
  1410. SHOW_ICONWINDOW    = 2
  1411. SHOW_FULLSCREEN    = 3
  1412. SHOW_OPENNOACTIVATE= 4
  1413.  
  1414. ;  identifiers for the WM_SHOWWINDOW message
  1415. SW_PARENTCLOSING =  1
  1416. SW_OTHERZOOM     =  2
  1417. SW_PARENTOPENING =  3
  1418. SW_OTHERUNZOOM   =  4
  1419. ;
  1420. ; Key state masks for mouse messages
  1421. ;
  1422. MK_LBUTTON       = 0001h
  1423. MK_RBUTTON       = 0002h
  1424. MK_SHIFT         = 0004h
  1425. MK_CONTROL       = 0008h
  1426. MK_MBUTTON       = 0010h
  1427. ;
  1428. ; Class styles
  1429. ;
  1430. CS_VREDRAW      = 0001h
  1431. CS_HREDRAW      = 0002h
  1432. CS_KEYCVTWINDOW = 0004H
  1433. CS_DBLCLKS      = 0008h
  1434. ;           0010h reserved
  1435. CS_OWNDC        = 0020h
  1436. CS_CLASSDC      = 0040h
  1437. CS_PARENTDC     = 0080h
  1438. CS_NOKEYCVT     = 0100h
  1439. CS_SAVEBITS     = 0800h
  1440. CS_NOCLOSE      = 0200h
  1441. CS_BYTEALIGNCLIENT = 1000h
  1442. CS_BYTEALIGNWINDOW = 2000h
  1443. CS_GLOBALCLASS  = 4000h    ; Global window class
  1444.  
  1445. ;
  1446. ; Special CreateWindow position value
  1447. ;
  1448. CW_USEDEFAULT    EQU    8000h
  1449.  
  1450. ;
  1451. ; Windows styles (the high words)
  1452. ;
  1453. WS_OVERLAPPED   = 00000h
  1454. WS_ICONICPOPUP  = 0C000h
  1455. WS_POPUP        = 08000h
  1456. WS_CHILD        = 04000h
  1457. WS_MINIMIZE     = 02000h
  1458. WS_VISIBLE      = 01000h
  1459. WS_DISABLED     = 00800h
  1460. WS_CLIPSIBLINGS = 00400h
  1461. WS_CLIPCHILDREN = 00200h
  1462. WS_MAXIMIZE     = 00100h
  1463. WS_CAPTION      = 000C0h     ; WS_BORDER | WS_DLGFRAME
  1464. WS_BORDER       = 00080h
  1465. WS_DLGFRAME     = 00040h
  1466. WS_VSCROLL      = 00020h
  1467. WS_HSCROLL      = 00010h
  1468. WS_SYSMENU      = 00008h
  1469. WS_THICKFRAME   = 00004h
  1470. WS_HREDRAW      = 00002h
  1471. WS_VREDRAW      = 00001h
  1472. WS_GROUP        = 00002h
  1473. WS_TABSTOP      = 00001h
  1474. WS_MINIMIZEBOX  = 00002h
  1475. WS_MAXIMIZEBOX  = 00001h
  1476.  
  1477. ; Common Window Styles
  1478.  
  1479. WS_OVERLAPPEDWINDOW = WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX
  1480. WS_POPUPWINDOW  = WS_POPUP + WS_BORDER + WS_SYSMENU
  1481. WS_CHILDWINDOW  = WS_CHILD
  1482. WS_TILEDWINDOW  = WS_OVERLAPPEDWINDOW
  1483.  
  1484. WS_TILED        = WS_OVERLAPPED
  1485. WS_ICONIC       = WS_MINIMIZE
  1486. WS_SIZEBOX      = WS_THICKFRAME
  1487.  
  1488. ; Extended Window Styles (low words)
  1489. WS_EX_DLGMODALFRAME = 0001
  1490. WS_EX_DRAGOBJECT    = 0002
  1491. WS_EX_NOPARENTNOTIFY = 0004
  1492.  
  1493. ;
  1494. ; predefined clipboard formats
  1495. ;
  1496. CF_TEXT         = 1
  1497. CF_BITMAP       = 2
  1498. CF_METAFILEPICT = 3
  1499. CF_SYLK         = 4
  1500. CF_DIF          = 5
  1501. CF_TIFF         = 6
  1502. CF_OEMTEXT      = 7
  1503. CF_DIB          = 8
  1504. CF_PALETTE      = 9
  1505.  
  1506. CF_OWNERDISPLAY = 80h       ; owner display
  1507. CF_DSPTEXT      = 81h       ; display text
  1508. CF_DSPBITMAP    = 82h       ; display bitmap
  1509. CF_DSPMETAFILEPICT  = 83h   ; display metafile
  1510. ;
  1511. ; Private clipboard format range
  1512. ;
  1513. CF_PRIVATEFIRST       = 200h       ; Anything in this range doesn't
  1514. CF_PRIVATELAST        = 2ffh       ; get GlobalFree'd
  1515. CF_GDIOBJFIRST        = 300h       ; Anything in this range gets
  1516. CF_GDIOBJLAST         = 3ffh       ; DeleteObject'ed
  1517.  
  1518.  
  1519. MAKEINTRESOURCE MACRO a
  1520.         mov     ax,a
  1521.         xor     dx,dx
  1522.         ENDM
  1523. ;
  1524. ;  Predefined resource types
  1525. ;
  1526. RT_CURSOR       = 1              ; must be passed through MAKEINTRESOURCE
  1527. RT_BITMAP       = 2
  1528. RT_ICON         = 3
  1529. RT_MENU         = 4
  1530. RT_DIALOG       = 5
  1531. RT_STRING       = 6
  1532. RT_FONTDIR      = 7
  1533. RT_FONT         = 8
  1534. RT_ACCELERATOR  = 9
  1535. RT_RCDATA       = 10
  1536.  
  1537.  
  1538.  
  1539.  
  1540. IFNDEF NOMDI
  1541. MDICREATESTRUCT     struc
  1542.     szClass        dd ?
  1543.     szTitle        dd ?
  1544.     hOwner        dw ?
  1545.     x            dw ?
  1546.     y            dw ?
  1547.     cxc         dw ?
  1548.     cyc         dw ?
  1549.     style        dd ?
  1550. MDICREATESTRUCT ends
  1551.  
  1552. CLIENTCREATESTRUCT  struc
  1553.     hWindowMenu     dw ?
  1554.     idFirstChild    dw ?
  1555. CLIENTCREATESTRUCT ends
  1556. ENDIF
  1557.  
  1558. ; NOMDI
  1559.  
  1560.  
  1561. PALETTEENTRY        struc
  1562.     peRed        db ?
  1563.     peGreen        db ?
  1564.     peBlue        db ?
  1565.     peFlags        db ?
  1566. PALETTEENTRY        ends
  1567.  
  1568. ; Logical Palette
  1569. LOGPALETTE        struc
  1570.     palVersion        dw ?
  1571.     palNumEntries   dw ?
  1572.     palPalEntry     db ?  ; array of PALETTEENTRY
  1573. LOGPALETTE        ends
  1574.  
  1575. ; DRAWITEMSTRUCT for ownerdraw
  1576. DRAWITEMSTRUCT        struc
  1577.     drCtlType          dw ?
  1578.     drCtlID          dw ?
  1579.     dritemID          dw ?
  1580.     dritemAction      dw ?
  1581.     dritemState       dw ?
  1582.     drhwndItem          dw ?
  1583.     drhDC          dw ?
  1584.     drrcItem          DB size RECT dup(?)
  1585.     dritemData          dd ?
  1586. DRAWITEMSTRUCT ends
  1587.  
  1588. ; DELETEITEMSTRUCT for ownerdraw
  1589. DELETEITEMSTRUCT    struc
  1590.     deCtlType          dw ?
  1591.     deCtlID          dw ?
  1592.     deitemID          dw ?
  1593.     dehwndItem          dw ?
  1594.     deitemData          dd ?
  1595. DELETEITEMSTRUCT ends
  1596.  
  1597. ; MEASUREITEMSTRUCT for ownerdraw
  1598. MEASUREITEMSTRUCT   struc
  1599.     meCtlType          dw ?
  1600.     meCtlID          dw ?
  1601.     meitemID          dw ?
  1602.     meitemWidth       dw ?
  1603.     meitemHeight      dw ?
  1604.     meitemData          dd ?
  1605. MEASUREITEMSTRUCT ends
  1606.  
  1607. ; COMPAREITEMSTUCT for ownerdraw sorting
  1608. COMPAREITEMSTRUCT   struc
  1609.     coCtlType   dw ?
  1610.     coCtlID     dw ?
  1611.     cohwndItem  dw ?
  1612.     coitemID1   dw ?
  1613.     coitemData1 dd ?
  1614.     coitemID2   dw ?
  1615.     coitemData2 dd ?
  1616. COMPAREITEMSTRUCT   ends
  1617.  
  1618. ; Owner draw control types
  1619. ODT_MENU      =  1
  1620. ODT_LISTBOX   =  2
  1621. ODT_COMBOBOX  =  3
  1622. ODT_BUTTON    =  4
  1623.  
  1624. ; Owner draw actions
  1625. ODA_DRAWENTIRE = 1
  1626. ODA_SELECT     = 2
  1627. ODA_FOCUS      = 4
  1628.  
  1629. ; Owner draw state
  1630. ODS_SELECTED   = 0001h
  1631. ODS_GRAYED     = 0002h
  1632. ODS_DISABLED   = 0004h
  1633. ODS_CHECKED    = 0008h
  1634. ODS_FOCUS      = 0010h
  1635.  
  1636. ; PeekMessage() Options
  1637. PM_NOREMOVE    = 0000h
  1638. PM_REMOVE      = 0001h
  1639. PM_NOYIELD     = 0002h
  1640.  
  1641. ; SetWindowPos Flags
  1642. SWP_NOSIZE       =  0001h
  1643. SWP_NOMOVE       =  0002h
  1644. SWP_NOZORDER     =  0004h
  1645. SWP_NOREDRAW     =  0008h
  1646. SWP_NOACTIVATE   =  0010h
  1647. SWP_DRAWFRAME    =  0020h
  1648. SWP_SHOWWINDOW   =  0040h
  1649. SWP_HIDEWINDOW   =  0080h
  1650. SWP_NOCOPYBITS   =  0100h
  1651. SWP_NOREPOSITION =  0200h
  1652.  
  1653.  
  1654. IFNDEF NOWINMESSAGES
  1655.  
  1656. ; Listbox messages
  1657. LB_ADDSTRING       = (WM_USER+1)
  1658. LB_INSERTSTRING    = (WM_USER+2)
  1659. LB_DELETESTRING    = (WM_USER+3)
  1660. LB_RESETCONTENT    = (WM_USER+5)
  1661. LB_SETSEL       = (WM_USER+6)
  1662. LB_SETCURSEL       = (WM_USER+7)
  1663. LB_GETSEL       = (WM_USER+8)
  1664. LB_GETCURSEL       = (WM_USER+9)
  1665. LB_GETTEXT       = (WM_USER+10)
  1666. LB_GETTEXTLEN       = (WM_USER+11)
  1667. LB_GETCOUNT       = (WM_USER+12)
  1668. LB_SELECTSTRING    = (WM_USER+13)
  1669. LB_DIR           = (WM_USER+14)
  1670. LB_GETTOPINDEX       = (WM_USER+15)
  1671. LB_FINDSTRING       = (WM_USER+16)
  1672. LB_GETSELCOUNT       = (WM_USER+17)
  1673. LB_GETSELITEMS       = (WM_USER+18)
  1674. LB_SETTABSTOPS       = (WM_USER+19)
  1675. LB_GETHORIZONTALEXTENT = (WM_USER+20)
  1676. LB_SETHORIZONTALEXTENT = (WM_USER+21)
  1677. LB_SETTOPINDEX       = (WM_USER+24)
  1678. LB_GETITEMRECT       = (WM_USER+25)
  1679. LB_GETITEMDATA       = (WM_USER+26)
  1680. LB_SETITEMDATA       = (WM_USER+27)
  1681. LB_SELITEMRANGE    = (WM_USER+28)
  1682. LB_MSGMAX       = (WM_USER+33)
  1683.  
  1684. ENDIF
  1685. ; NOWINMESSAGES
  1686.  
  1687. ; Listbox Styles
  1688. LBS_NOTIFY            = 0001h
  1689. LBS_SORT              = 0002h
  1690. LBS_NOREDRAW          = 0004h
  1691. LBS_MULTIPLESEL       = 0008h
  1692. LBS_OWNERDRAWFIXED    = 0010h
  1693. LBS_OWNERDRAWVARIABLE = 0020h
  1694. LBS_HASSTRINGS        = 0040h
  1695. LBS_USETABSTOPS       = 0080h
  1696. LBS_NOINTEGRALHEIGHT  = 0100h
  1697. LBS_MULTICOLUMN       = 0200h
  1698. LBS_WANTKEYBOARDINPUT = 0400h
  1699. LBS_EXTENDEDSEL          = 0800h
  1700. LBS_STANDARD          = LBS_NOTIFY + LBS_SORT + WS_VSCROLL + WS_BORDER
  1701.  
  1702. ; Listbox Notification Codes
  1703. LBN_ERRSPACE      =  (-2)
  1704. LBN_SELCHANGE     =  1
  1705. LBN_DBLCLK        =  2
  1706. LBN_SELCANCEL     =  3
  1707. LBN_SETFOCUS      =  4
  1708. LBN_KILLFOCUS     =  5
  1709.  
  1710. IFNDEF NOWINMESSAGES
  1711.  
  1712. ; Edit Control Messages
  1713. EM_GETSEL       = (WM_USER+0)
  1714. EM_SETSEL       = (WM_USER+1)
  1715. EM_GETRECT       = (WM_USER+2)
  1716. EM_SETRECT       = (WM_USER+3)
  1717. EM_SETRECTNP       = (WM_USER+4)
  1718. EM_SCROLL       = (WM_USER+5)
  1719. EM_LINESCROLL       = (WM_USER+6)
  1720. EM_GETMODIFY       = (WM_USER+8)
  1721. EM_SETMODIFY       = (WM_USER+9)
  1722. EM_GETLINECOUNT    = (WM_USER+10)
  1723. EM_LINEINDEX       = (WM_USER+11)
  1724. EM_SETHANDLE       = (WM_USER+12)
  1725. EM_GETHANDLE       = (WM_USER+13)
  1726. EM_GETTHUMB       = (WM_USER+14)
  1727. EM_LINELENGTH       = (WM_USER+17)
  1728. EM_REPLACESEL       = (WM_USER+18)
  1729. EM_SETFONT       = (WM_USER+19)
  1730. EM_GETLINE       = (WM_USER+20)
  1731. EM_LIMITTEXT       = (WM_USER+21)
  1732. EM_CANUNDO       = (WM_USER+22)
  1733. EM_UNDO        = (WM_USER+23)
  1734. EM_FMTLINES       = (WM_USER+24)
  1735. EM_LINEFROMCHAR    = (WM_USER+25)
  1736. EM_SETWORDBREAK    = (WM_USER+26)
  1737. EM_SETTABSTOPS     = (WM_USER+27)
  1738. EM_SETPASSWORDCHAR = (WM_USER+28)
  1739. EM_EMPTYUNDOBUFFER = (WM_USER+29)
  1740. EM_MSGMAX          = (WM_USER+30)
  1741.  
  1742. ENDIF
  1743. ; NOWINMESSAGES
  1744.  
  1745.  
  1746. ; Edit Control Styles (low word)
  1747. ES_LEFT            = 0000h
  1748. ES_CENTER          = 0001h
  1749. ES_RIGHT           = 0002h
  1750. ES_MULTILINE       = 0004h
  1751. ES_UPPERCASE       = 0008h
  1752. ES_LOWERCASE       = 0010h
  1753. ES_PASSWORD        = 0020h
  1754. ES_AUTOVSCROLL     = 0040h
  1755. ES_AUTOHSCROLL     = 0080h
  1756. ES_NOHIDESEL       = 0100h
  1757. ES_OEMCONVERT      = 0400h
  1758.  
  1759. ; Edit Control Notification Codes
  1760. EN_SETFOCUS        = 0100
  1761. EN_KILLFOCUS       = 0200
  1762. EN_CHANGE          = 0300
  1763. EN_UPDATE          = 0400
  1764. EN_ERRSPACE        = 0500
  1765. EN_MAXTEXT         = 0501
  1766. EN_HSCROLL         = 0601
  1767. EN_VSCROLL         = 0602
  1768.  
  1769. IFNDEF NOWINMESSAGES
  1770.  
  1771. ; Button Control Messages
  1772. BM_GETCHECK       = (WM_USER+0)
  1773. BM_SETCHECK       = (WM_USER+1)
  1774. BM_GETSTATE       = (WM_USER+2)
  1775. BM_SETSTATE       = (WM_USER+3)
  1776. BM_SETSTYLE       = (WM_USER+4)
  1777.  
  1778. ENDIF
  1779. ; NOWINMESSAGES
  1780.  
  1781. ; Button Control Styles (low word)
  1782. BS_PUSHBUTTON      = 00h
  1783. BS_DEFPUSHBUTTON   = 01h
  1784. BS_CHECKBOX        = 02h
  1785. BS_AUTOCHECKBOX    = 03h
  1786. BS_RADIOBUTTON     = 04h
  1787. BS_3STATE          = 05h
  1788. BS_AUTO3STATE      = 06h
  1789. BS_GROUPBOX        = 07h
  1790. BS_USERBUTTON      = 08h
  1791. BS_AUTORADIOBUTTON = 09h
  1792. BS_PUSHBOX         = 0Ah
  1793. BS_OWNERDRAW       = 0Bh
  1794. BS_LEFTTEXT        = 20h
  1795.  
  1796. ; User Button Notification Codes
  1797. BN_CLICKED         = 0
  1798. BN_PAINT           = 1
  1799. BN_HILITE          = 2
  1800. BN_UNHILITE        = 3
  1801. BN_DISABLE         = 4
  1802. BN_DOUBLECLICKED   = 5
  1803.  
  1804. ; Dialog Styles (low words)
  1805. DS_ABSALIGN        = 01h
  1806. DS_SYSMODAL        = 02h
  1807. DS_LOCALEDIT       = 20h  ;/* Edit items get Local storage. */
  1808. DS_SETFONT         = 40h  ;/* User specified font for Dlg controls */
  1809. DS_MODALFRAME      = 80h  ;/* Can be combined with WS_CAPTION  */
  1810. DS_NOIDLEMSG       = 100h ;/* WM_ENTERIDLE message will not be sent */
  1811.  
  1812. IFNDEF NOWINMESSAGES
  1813.  
  1814. ; Dialog box messages
  1815. DM_GETDEFID       = (WM_USER+0)
  1816. DM_SETDEFID       = (WM_USER+1)
  1817.  
  1818. ENDIF   ;NOWINMESSAGES
  1819.  
  1820. ; Dialog Codes
  1821. DLGC_WANTARROWS     = 0001h    ;  /* Control wants arrow keys         */
  1822. DLGC_WANTTAB        = 0002h    ;  /* Control wants tab keys           */
  1823. DLGC_WANTALLKEYS    = 0004h    ;  /* Control wants all keys           */
  1824. DLGC_WANTMESSAGE    = 0004h    ;  /* Pass message to control          */
  1825. DLGC_HASSETSEL      = 0008h    ;  /* Understands EM_SETSEL message    */
  1826. DLGC_DEFPUSHBUTTON  = 0010h    ;  /* Default pushbutton               */
  1827. DLGC_UNDEFPUSHBUTTON= 0020h    ;  /* Non-default pushbutton           */
  1828. DLGC_RADIOBUTTON    = 0040h    ;  /* Radio button                     */
  1829. DLGC_WANTCHARS      = 0080h    ;  /* Want WM_CHAR messages            */
  1830. DLGC_STATIC         = 0100h    ;  /* Static item: don't include       */
  1831. DLGC_BUTTON         = 2000h    ;  /* Button item: can be checked      */
  1832.  
  1833. ; Combo Box return Values
  1834. CB_OKAY          =   0
  1835. CB_ERR           =   (-1)
  1836. CB_ERRSPACE      =   (-2)
  1837.  
  1838. ; Combo Box Notification Codes
  1839. CBN_ERRSPACE     =   (-1)
  1840. CBN_SELCHANGE    =   1
  1841. CBN_DBLCLK       =   2
  1842. CBN_SETFOCUS     =   3
  1843. CBN_KILLFOCUS    =   4
  1844. CBN_EDITCHANGE   =   5
  1845. CBN_EDITUPDATE   =   6
  1846. CBN_DROPDOWN     =   7
  1847.  
  1848. ; Combo Box styles (low words)
  1849. CBS_SIMPLE           = 0001h
  1850. CBS_DROPDOWN         = 0002h
  1851. CBS_DROPDOWNLIST     = 0003h
  1852. CBS_OWNERDRAWFIXED   = 0010h
  1853. CBS_OWNERDRAWVARIABLE= 0020h
  1854. CBS_AUTOHSCROLL      = 0040h
  1855. CBS_OEMCONVERT       = 0080h
  1856. CBS_SORT             = 0100h
  1857. CBS_HASSTRINGS       = 0200h
  1858. CBS_NOINTEGRALHEIGHT = 0400h
  1859.  
  1860. IFNDEF NOWINMESSAGES
  1861.  
  1862. ; Combo Box messages
  1863. CB_GETEDITSEL       = (WM_USER+0)
  1864. CB_LIMITTEXT       = (WM_USER+1)
  1865. CB_SETEDITSEL       = (WM_USER+2)
  1866. CB_ADDSTRING       = (WM_USER+3)
  1867. CB_DELETESTRING    = (WM_USER+4)
  1868. CB_DIR           = (WM_USER+5)
  1869. CB_GETCOUNT       = (WM_USER+6)
  1870. CB_GETCURSEL       = (WM_USER+7)
  1871. CB_GETLBTEXT       = (WM_USER+8)
  1872. CB_GETLBTEXTLEN    = (WM_USER+9)
  1873. CB_INSERTSTRING    = (WM_USER+10)
  1874. CB_RESETCONTENT    = (WM_USER+11)
  1875. CB_FINDSTRING       = (WM_USER+12)
  1876. CB_SELECTSTRING    = (WM_USER+13)
  1877. CB_SETCURSEL       = (WM_USER+14)
  1878. CB_SHOWDROPDOWN    = (WM_USER+15)
  1879. CB_GETITEMDATA     = (WM_USER+16)
  1880. CB_SETITEMDATA     = (WM_USER+17)
  1881. CB_GETDROPPEDCONTROLRECT = (WM_USER+18)
  1882. CB_MSGMAX       = (WM_USER+19)
  1883.  
  1884. ENDIF ; NOWINMESSAGES
  1885.  
  1886. ; Static Control styles (low word)
  1887. SS_LEFT            = 00h
  1888. SS_CENTER          = 01h
  1889. SS_RIGHT           = 02h
  1890. SS_ICON            = 03h
  1891. SS_BLACKRECT       = 04h
  1892. SS_GRAYRECT        = 05h
  1893. SS_WHITERECT       = 06h
  1894. SS_BLACKFRAME      = 07h
  1895. SS_GRAYFRAME       = 08h
  1896. SS_WHITEFRAME      = 09h
  1897. SS_USERITEM        = 0Ah
  1898. SS_SIMPLE          = 0Bh
  1899. SS_LEFTNOWORDWRAP  = 0Ch
  1900. SS_NOPREFIX        = 80h    ; Don't do "&" character translation
  1901.  
  1902. ; Scroll Bar Styles (low word)
  1903. SBS_HORZ                    = 0000h
  1904. SBS_VERT                    = 0001h
  1905. SBS_TOPALIGN                = 0002h
  1906. SBS_LEFTALIGN               = 0002h
  1907. SBS_BOTTOMALIGN             = 0004h
  1908. SBS_RIGHTALIGN              = 0004h
  1909. SBS_SIZEBOXTOPLEFTALIGN     = 0002h
  1910. SBS_SIZEBOXBOTTOMRIGHTALIGN = 0004h
  1911. SBS_SIZEBOX                 = 0008h
  1912.  
  1913. IFNDEF NOSYSMETRICS
  1914.  
  1915. ; GetSystemMetrics() codes
  1916. SM_CXSCREEN       =  0
  1917. SM_CYSCREEN       =  1
  1918. SM_CXVSCROLL      =  2
  1919. SM_CYHSCROLL      =  3
  1920. SM_CYCAPTION      =  4
  1921. SM_CXBORDER       =  5
  1922. SM_CYBORDER       =  6
  1923. SM_CXDLGFRAME     =  7
  1924. SM_CYDLGFRAME     =  8
  1925. SM_CYVTHUMB       =  9
  1926. SM_CXHTHUMB       =  10
  1927. SM_CXICON         =  11
  1928. SM_CYICON         =  12
  1929. SM_CXCURSOR       =  13
  1930. SM_CYCURSOR       =  14
  1931. SM_CYMENU         =  15
  1932. SM_CXFULLSCREEN   =  16
  1933. SM_CYFULLSCREEN   =  17
  1934. SM_CYKANJIWINDOW  =  18
  1935. SM_MOUSEPRESENT   =  19
  1936. SM_CYVSCROLL      =  20
  1937. SM_CXHSCROLL      =  21
  1938. SM_DEBUG          =  22
  1939. SM_SWAPBUTTON     =  23
  1940. SM_RESERVED1      =  24
  1941. SM_RESERVED2      =  25
  1942. SM_RESERVED3      =  26
  1943. SM_RESERVED4      =  27
  1944. SM_CXMIN          =  28
  1945. SM_CYMIN          =  29
  1946. SM_CXSIZE         =  30
  1947. SM_CYSIZE         =  31
  1948. SM_CXFRAME        =  32
  1949. SM_CYFRAME        =  33
  1950. SM_CXMINTRACK     =  34
  1951. SM_CYMINTRACK     =  35
  1952. SM_CMETRICS       =  36
  1953.  
  1954. ENDIF   ;NOSYSMETRICS
  1955.  
  1956. IFNDEF  NOCOLOR
  1957.  
  1958. COLOR_SCROLLBAR        = 0
  1959. COLOR_BACKGROUND       = 1
  1960. COLOR_ACTIVECAPTION    = 2
  1961. COLOR_INACTIVECAPTION  = 3
  1962. COLOR_MENU             = 4
  1963. COLOR_WINDOW           = 5
  1964. COLOR_WINDOWFRAME      = 6
  1965. COLOR_MENUTEXT         = 7
  1966. COLOR_WINDOWTEXT       = 8
  1967. COLOR_CAPTIONTEXT      = 9
  1968. COLOR_ACTIVEBORDER     = 10
  1969. COLOR_INACTIVEBORDER   = 11
  1970. COLOR_APPWORKSPACE     = 12
  1971. COLOR_HIGHLIGHT        = 13
  1972. COLOR_HIGHLIGHTTEXT    = 14
  1973. COLOR_BTNFACE          = 15
  1974. COLOR_BTNSHADOW        = 16
  1975. COLOR_GRAYTEXT         = 17
  1976. COLOR_BTNTEXT          = 18
  1977.  
  1978. ENDIF   ;NOCOLOR
  1979.  
  1980. ; Commands to pass WinHelp()
  1981. HELP_CONTEXT    =0001h    ;/* Display topic in ulTopic */
  1982. HELP_QUIT    =0002h    ;/* Terminate help */
  1983. HELP_INDEX    =0003h    ;/* Display index */
  1984. HELP_HELPONHELP =0004h    ;/* Display help on using help */
  1985. HELP_SETINDEX    =0005h    ;/* Set the current Index for multi index help */
  1986. HELP_KEY    =0101h    ;/* Display topic for keyword in offabData */
  1987.  
  1988. IFNDEF NOCOMM
  1989.  
  1990. NOPARITY        =   0
  1991. ODDPARITY       =   1
  1992. EVENPARITY      =   2
  1993. MARKPARITY      =   3
  1994. SPACEPARITY     =   4
  1995.  
  1996. ONESTOPBIT      =   0
  1997. ONE5STOPBITS    =   1
  1998. TWOSTOPBITS     =   2
  1999.  
  2000. IGNORE          =   0      ; /* Ignore signal    */
  2001. INFINITE        =   0FFFFh ; /* Infinite timeout */
  2002.  
  2003. ; Error Flags
  2004. CE_RXOVER       =    0001h ; /* Receive Queue overflow       */
  2005. CE_OVERRUN      =    0002h ; /* Receive Overrun Error        */
  2006. CE_RXPARITY     =    0004h ; /* Receive Parity Error         */
  2007. CE_FRAME        =    0008h ; /* Receive Framing error        */
  2008. CE_BREAK        =    0010h ; /* Break Detected               */
  2009. CE_CTSTO        =    0020h ; /* CTS Timeout                  */
  2010. CE_DSRTO        =    0040h ; /* DSR Timeout                  */
  2011. CE_RLSDTO       =    0080h ; /* RLSD Timeout                 */
  2012. CE_TXFULL       =    0100h ; /* TX Queue is full             */
  2013. CE_PTO          =    0200h ; /* LPTx Timeout                 */
  2014. CE_IOE          =    0400h ; /* LPTx I/O Error               */
  2015. CE_DNS          =    0800h ; /* LPTx Device not selected     */
  2016. CE_OOP          =    1000h ; /* LPTx Out-Of-Paper            */
  2017. CE_MODE         =    8000h ; /* Requested mode unsupported   */
  2018.  
  2019. IE_BADID        =    (-1)  ;  /* Invalid or unsupported id    */
  2020. IE_OPEN         =    (-2)  ;  /* Device Already Open          */
  2021. IE_NOPEN        =    (-3)  ;  /* Device Not Open              */
  2022. IE_MEMORY       =    (-4)  ;  /* Unable to allocate queues    */
  2023. IE_DEFAULT      =    (-5)  ;  /* Error in default parameters  */
  2024. IE_HARDWARE     =    (-10) ;  /* Hardware Not Present         */
  2025. IE_BYTESIZE     =    (-11) ;  /* Illegal Byte Size            */
  2026. IE_BAUDRATE     =    (-12) ;  /* Unsupported BaudRate         */
  2027.  
  2028. ; Events
  2029. EV_RXCHAR       =    0001h ; /* Any Character received       */
  2030. EV_RXFLAG       =    0002h ; /* Received certain character   */
  2031. EV_TXEMPTY      =    0004h ; /* Transmitt Queue Empty        */
  2032. EV_CTS          =    0008h ; /* CTS changed state            */
  2033. EV_DSR          =    0010h ; /* DSR changed state            */
  2034. EV_RLSD         =    0020h ; /* RLSD changed state           */
  2035. EV_BREAK        =    0040h ; /* BREAK received               */
  2036. EV_ERR          =    0080h ; /* Line status error occurred   */
  2037. EV_RING         =    0100h ; /* Ring signal detected         */
  2038. EV_PERR         =    0200h ; /* Printer error occured        */
  2039.  
  2040. ; Escape Functions
  2041. SETXOFF         =    1     ;  /* Simulate XOFF received       */
  2042. SETXON          =    2     ;  /* Simulate XON received        */
  2043. SETRTS          =    3     ;  /* Set RTS high                 */
  2044. CLRRTS          =    4     ;  /* Set RTS low                  */
  2045. SETDTR          =    5     ;  /* Set DTR high                 */
  2046. CLRDTR          =    6     ;  /* Set DTR low                  */
  2047. RESETDEV        =    7     ;  /* Reset device if possible     */
  2048.  
  2049. LPTx            =    80h   ; /* Set if ID is for LPT device  */
  2050.  
  2051. DCB     struc
  2052.     DCB_Id             db ?  ; /* Internal Device ID              */
  2053.     DCB_BaudRate       dw ?  ; /* Baudrate at which runing        */
  2054.     DCB_ByteSize       db ?  ; /* Number of bits/byte, 4-8        */
  2055.     DCB_Parity         db ?  ; /* 0-4=None,Odd,Even,Mark,Space    */
  2056.     DCB_StopBits       db ?  ; /* 0,1,2 = 1, 1.5, 2               */
  2057.     DCB_RlsTimeout     dw ?  ; /* Timeout for RLSD to be set      */
  2058.     DCB_CtsTimeout     dw ?  ; /* Timeout for CTS to be set       */
  2059.     DCB_DsrTimeout     dw ?  ; /* Timeout for DSR to be set       */
  2060.  
  2061.     DCB_BitMask1       db ?
  2062.  
  2063.     ;   BYTE fBinary: 1;     /* Binary Mode (skip EOF check     */
  2064.     ;   BYTE fRtsDisable:1;  /* Don't assert RTS at init time   */
  2065.     ;   BYTE fParity: 1;     /* Enable parity checking          */
  2066.     ;   BYTE fOutxCtsFlow:1; /* CTS handshaking on output       */
  2067.     ;   BYTE fOutxDsrFlow:1; /* DSR handshaking on output       */
  2068.     ;   BYTE fDummy: 2;      /* Reserved                        */
  2069.     ;   BYTE fDtrDisable:1;  /* Don't assert DTR at init time   */
  2070.  
  2071.     DCB_BitMask2       db ?
  2072.  
  2073.     ;   BYTE fOutX: 1;       /* Enable output X-ON/X-OFF        */
  2074.     ;   BYTE fInX: 1;        /* Enable input X-ON/X-OFF         */
  2075.     ;   BYTE fPeChar: 1;     /* Enable Parity Err Replacement   */
  2076.     ;   BYTE fNull: 1;       /* Enable Null stripping           */
  2077.     ;   BYTE fChEvt: 1;      /* Enable Rx character event.      */
  2078.     ;   BYTE fDtrflow: 1;    /* DTR handshake on input          */
  2079.     ;   BYTE fRtsflow: 1;    /* RTS handshake on input          */
  2080.     ;   BYTE fDummy2: 1;
  2081.  
  2082.     DCB_XonChar        db ? ; /* Tx and Rx X-ON character        */
  2083.     DCB_XoffChar       db ? ; /* Tx and Rx X-OFF character       */
  2084.     DCB_XonLim         dw ? ; /* Transmit X-ON threshold         */
  2085.     DCB_XoffLim        dw ? ; /* Transmit X-OFF threshold        */
  2086.     DCB_PeChar         db ? ; /* Parity error replacement char   */
  2087.     DCB_EofChar        db ? ; /* End of Input character          */
  2088.     DCB_EvtChar        db ? ; /* Recieved Event character        */
  2089.     DCB_TxDelay        dw ? ; /* Amount of time between chars    */
  2090. DCB     ends
  2091.  
  2092. COMSTAT     struc
  2093.     COMS_BitMask1   db ?
  2094.  
  2095. ;    BYTE fCtsHold: 1;   /* Transmit is on CTS hold         */
  2096. ;    BYTE fDsrHold: 1;   /* Transmit is on DSR hold         */
  2097. ;    BYTE fRlsdHold: 1;  /* Transmit is on RLSD hold        */
  2098. ;    BYTE fXoffHold: 1;  /* Received handshake              */
  2099. ;    BYTE fXoffSent: 1;  /* Issued handshake                */
  2100. ;    BYTE fEof: 1;       /* End of file character found     */
  2101. ;    BYTE fTxim: 1;      /* Character being transmitted     */
  2102.  
  2103.  
  2104.     COMS_cbInQue    dw ?  ;   /* count of characters in Rx Queue */
  2105.     COMS_cbOutQue   dw ?  ;   /* count of characters in Tx Queue */
  2106. COMSTAT     ends
  2107.  
  2108. ENDIF       ;NOCOM
  2109.