home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / winscrol.def < prev    next >
Text File  |  1992-10-23  |  3KB  |  71 lines

  1. DEFINITION MODULE WINSCROLLBARS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.0 interface for Presentation Manager Scroll Bar controls.
  5.  
  6.   Copyright (c) 1992 by Juergen Neuhoff
  7. *************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$A         default alignment for record fields                        *)
  11.  
  12. FROM   OS2DEF  IMPORT TYPEPREFIX;
  13.  
  14. CONST (* Scroll Bar styles *)
  15.   SBS_HORZ                 = 0;
  16.   SBS_VERT                 = 1;
  17.   SBS_THUMBSIZE            = 2;
  18.   SBS_AUTOTRACK            = 4;
  19.   SBS_AUTOSIZE             = 2000H;
  20.  
  21. CONST (* Scroll Bar messages *)
  22.   SBM_SETSCROLLBAR         = 01A0H;
  23.   SBM_SETPOS               = 01A1H;
  24.   SBM_QUERYPOS             = 01A2H;
  25.   SBM_QUERYRANGE           = 01A3H;
  26.   SBM_SETTHUMBSIZE         = 01A6H;
  27.  
  28. CONST (* Scroll Bar Commands *)
  29.   SB_LINEUP                = 1;
  30.   SB_LINEDOWN              = 2;
  31.   SB_LINELEFT              = 1;
  32.   SB_LINERIGHT             = 2;
  33.   SB_PAGEUP                = 3;
  34.   SB_PAGEDOWN              = 4;
  35.   SB_PAGELEFT              = 3;
  36.   SB_PAGERIGHT             = 4;
  37.   SB_SLIDERTRACK           = 5;
  38.   SB_SLIDERPOSITION        = 6;
  39.   SB_ENDSCROLL             = 7;
  40.  
  41. TYPE
  42.   (* Binary resources may be bound into application executables or *)
  43.   (* passed as a parameter when creating a window or dialog        *)
  44.   (* Currently they must be the same for both 16-bit and 32-bit    *)
  45.   (* so we pack the structures.                                    *)
  46.   (*                                                               *)
  47.   (*$A2 WORD alignment for record fields >= 2 bytes                *)
  48.   SBCDATA         = RECORD (* sbcd *)
  49.     CASE            : TYPEPREFIX OF
  50.     | TRUE          :
  51.       cb            : CARDINAL;
  52.       sHilite       : CARDINAL;    (* reserved, should be set to zero *)
  53.       posFirst      : INTEGER;
  54.       posLast       : INTEGER;
  55.       posThumb      : INTEGER;
  56.       cVisible      : INTEGER;
  57.       cTotal        : INTEGER;
  58.     | FALSE         :
  59.       Count         : CARDINAL;
  60.       Hilite        : CARDINAL;    (* reserved, should be set to zero *)
  61.       FirstPos      : INTEGER;
  62.       LastPos       : INTEGER;
  63.       ThumbPos      : INTEGER;
  64.       VisibleCount  : INTEGER;
  65.       TotalCount    : INTEGER;
  66.     END;            END;
  67.   PSBCDATA        = POINTER TO SBCDATA;
  68.   (*$A restore default alignment for record fields *)
  69.  
  70. END WINSCROLLBARS.
  71.