home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2BAS.ZIP / WINMISC.BI < prev    next >
Text File  |  1989-07-25  |  7KB  |  232 lines

  1. '**************************************************************
  2. '*
  3. '* Include File: WinMisc.BI
  4. '*
  5. '* Requires:     PMBase.BI (RECTL type)
  6. '*
  7. '* Description:  Minor categories:
  8. '*
  9. '*                     Static controls
  10. '*                     Scroll bar controls
  11. '*                   + Timer functions
  12. '*                     Cursor functions
  13. '*                   - Heap functions
  14. '*                   + Atom table functions
  15. '*                   - (WinCatch/WinThrow) removed
  16. '*
  17. '*  + Particularly useful
  18. '*  - Possible conflicts with BASIC's control scheme
  19. '*************************************************************
  20.  
  21. '*** Static Control Manager 
  22.  
  23. ' Static control styles:
  24. ' *
  25. ' * NOTE: the top 9 bits of the LOWORD of the window flStyle are used for
  26. ' * DT* flags.  The lower 7 bits are for SS* styles.  This gives us up
  27. ' * to 128 distinct static control types (we currently use 11 of them).
  28. CONST SSTEXT             = &H0001&
  29. CONST SSGROUPBOX         = &H0002&
  30.  
  31. CONST SSICON             = &H0003&
  32. CONST SSBITMAP           = &H0004&
  33. CONST SSFGNDRECT         = &H0005&
  34. CONST SSHALFTONERECT     = &H0006&
  35. CONST SSBKGNDRECT        = &H0007&
  36. CONST SSFGNDFRAME        = &H0008&
  37. CONST SSHALFTONEFRAME    = &H0009& 
  38. CONST SSBKGNDFRAME       = &H000a&
  39. CONST SSSYSICON          = &H000b&
  40.  
  41. ' Static control class name 
  42.  
  43. CONST WCSTATIC       = &Hffff0005
  44.  
  45. ' Static control messages 
  46.  
  47. CONST SMSETHANDLE        = &H0100
  48. CONST SMQUERYHANDLE      = &H0101
  49.  
  50.  
  51.  
  52. '** Scroll Bar controls Subsection 
  53.  
  54. ' Scroll Bar styles 
  55.  
  56. CONST SBSHORZ            =0&
  57. CONST SBSVERT            =1&
  58.  
  59. ' Scroll bar class name 
  60.  
  61.  
  62. CONST WCSCROLLBAR    = &Hffff0008&
  63.  
  64. ' Scroll Bar messages 
  65.  
  66. CONST SBMSETSCROLLBAR    = &H01a0
  67. CONST SBMSETPOS          = &H01a1
  68. CONST SBMQUERYPOS        = &H01a2
  69. CONST SBMQUERYRANGE      = &H01a3
  70. CONST SBMSETHILITE       = &H01a4
  71. CONST SBMQUERYHILITE     = &H01a5
  72.  
  73. ' Scroll Bar Commands 
  74.  
  75. CONST SBLINEUP           =1
  76. CONST SBLINEDOWN         =2
  77. CONST SBLINELEFT         =1
  78. CONST SBLINERIGHT        =2
  79. CONST SBPAGEUP           =3
  80. CONST SBPAGEDOWN         =4
  81. CONST SBPAGELEFT         =3
  82. CONST SBPAGERIGHT        =4
  83. CONST SBSLIDERTRACK      =5
  84. CONST SBSLIDERPOSITION   =6
  85. CONST SBENDSCROLL        =7
  86.  
  87.  
  88. TYPE SBCDATA
  89.     cb AS INTEGER
  90.     sHilite AS INTEGER         ' reserved, should be set to zero 
  91.     posFirst AS INTEGER
  92.     posLast AS INTEGER
  93.     posThumb AS INTEGER
  94. END TYPE
  95.  
  96.  
  97.  
  98. '*** Timer manager 
  99.  
  100. DECLARE FUNCTION WinStartTimer%(BYVAL hab AS LONG,_
  101.                                 BYVAL hwnd AS LONG,_
  102.                                 BYVAL idTimer AS INTEGER,_
  103.                                 BYVAL dtTimeout AS INTEGER)
  104.  
  105. DECLARE FUNCTION WinStopTimer%(BYVAL hab AS LONG,_
  106.                                BYVAL hwnd AS LONG,_
  107.                                BYVAL idTimer AS INTEGER)
  108.  
  109. DECLARE FUNCTION WinGetCurrentTime&(BYVAL hab AS LONG)
  110.  
  111. CONST TIDCURSOR          = &Hffff  ' Reserved cursor timer ID 
  112. CONST TIDSCROLL          = &Hfffe  ' Reserved scrolling timer ID 
  113. CONST TIDFLASHWINDOW     = &Hfffd  ' Reserved for window flashing timer ID 
  114.  
  115.  
  116.  
  117. '*** Cursor manager common subsection 
  118.  
  119. DECLARE FUNCTION WinDestroyCursor%(BYVAL hwnd AS LONG)
  120.  
  121. DECLARE FUNCTION WinShowCursor%(BYVAL hwnd AS LONG,_
  122.                                 BYVAL fShow AS INTEGER)
  123.  
  124. DECLARE FUNCTION WinCreateCursor%(BYVAL hwnd AS LONG,_
  125.                                   BYVAL x AS INTEGER,_
  126.                                   BYVAL y AS INTEGER,_
  127.                                   BYVAL cx AS INTEGER,_
  128.                                   BYVAL cy AS INTEGER,_
  129.                                   BYVAL fs AS INTEGER,_
  130.                                   BYVAL prclClip AS LONG)
  131.  
  132. ' WinCreateCursor() flags 
  133.  
  134. CONST CURSORSOLID     = &H0000
  135. CONST CURSORHALFTONE  = &H0001
  136. CONST CURSORFRAME     = &H0002
  137. CONST CURSORFLASH     = &H0004
  138. CONST CURSORSETPOS    = &H8000
  139.  
  140. TYPE CURSORINFO
  141.     hwnd AS LONG
  142.     x AS INTEGER
  143.     y AS INTEGER
  144.     cx AS INTEGER
  145.     cy AS INTEGER
  146.     fs AS INTEGER
  147.     rclClip AS RECTL
  148. END TYPE
  149.  
  150. DECLARE FUNCTION WinQueryCursorInfo%(BYVAL hwndDesktop AS LONG,_
  151.                                      BYVAL pCursorInfo AS LONG)
  152.  
  153. ' Heap Manager Interface declarations 
  154.  
  155. DECLARE FUNCTION WinCreateHeap&(BYVAL selHeapBase AS INTEGER,_
  156.                                 BYVAL cbHeap AS INTEGER,_
  157.                                 BYVAL cbGrow AS INTEGER,_
  158.                                 BYVAL chMinDed AS INTEGER,_
  159.                                 BYVAL cbMaxDed AS INTEGER,_
  160.                                 BYVAL fOptions AS INTEGER)
  161.  
  162. DECLARE FUNCTION WinDestroyHeap&(BYVAL hHeap AS LONG)
  163.  
  164. DECLARE FUNCTION WinAvailMem%(BYVAL hHeap AS LONG,_
  165.                               BYVAL fCompact AS INTEGER,_
  166.                               BYVAL cbMinFree AS INTEGER)
  167.  
  168. DECLARE FUNCTION WinAllocMem%(BYVAL hHeap AS LONG,_
  169.                               BYVAL cb AS INTEGER)
  170.  
  171. DECLARE FUNCTION WinReallocMem%(BYVAL hHeap AS LONG,_
  172.                                 BYVAL npMem AS INTEGER,_
  173.                                 BYVAL cbOld AS INTEGER,_
  174.                                 BYVAL cbNew AS INTEGER)
  175.  
  176. DECLARE FUNCTION WinFreeMem%(BYVAL hHeap AS LONG,_
  177.                              BYVAL npMem AS INTEGER,_
  178.                              BYVAL cbMem AS INTEGER)
  179.  
  180. DECLARE FUNCTION WinLockHeap&(BYVAL hHeap AS LONG)
  181.  
  182. CONST HMMOVEABLE     = &H0001      ' Parameters to WinCreateHeap 
  183. CONST HMVALIDSIZE    = &H0002
  184.  
  185. '** Atom Manager Interface declarations 
  186.  
  187. DECLARE FUNCTION WinQuerySystemAtomTable&()
  188.  
  189. DECLARE FUNCTION WinCreateAtomTable&(BYVAL cbInitial AS INTEGER,_
  190.                                      BYVAL cBuckets AS INTEGER)
  191.  
  192. DECLARE FUNCTION WinDestroyAtomTable&(BYVAL hAtomTbl AS LONG)
  193.  
  194. DECLARE FUNCTION WinAddAtom%(BYVAL hAtomTbl AS LONG,_
  195.                              BYVAL pszAtomName AS LONG)
  196.  
  197. DECLARE FUNCTION WinFindAtom%(BYVAL hAtomTbl AS LONG,_
  198.                               BYVAL pszAtomName AS LONG)
  199.  
  200. DECLARE FUNCTION WinDeleteAtom%(BYVAL hAtomTbl AS LONG,_
  201.                                 BYVAL atom AS INTEGER)
  202.  
  203. DECLARE FUNCTION WinQueryAtomUsage%(BYVAL hAtomTbl AS LONG,_
  204.                                     BYVAL atom AS INTEGER)
  205.  
  206. DECLARE FUNCTION WinQueryAtomLength%(BYVAL hAtomTbl AS LONG,_
  207.                                      BYVAL atom AS INTEGER)
  208.  
  209. DECLARE FUNCTION WinQueryAtomName%(BYVAL hAtomTbl AS LONG,_
  210.                                    BYVAL atom AS INTEGER,_
  211.                                    BYVAL pchBuffer AS LONG,_
  212.                                    BYVAL cchBufferMax AS INTEGER)
  213.  
  214.  
  215. '** Catch/Throw Interface declarations 
  216. '
  217. ' Catch and Throw can not be used with BASIC because they reset the
  218. ' program state which BASIC will not allow.
  219. '
  220. 'TYPE CATCHBUF
  221. '    reserved0 AS LONG
  222. '    reserved1 AS LONG
  223. '    reserved2 AS LONG
  224. '    reserved3 AS LONG          ' array; in C: LONG reserved[4]
  225. 'END TYPE
  226. '
  227. 'DECLARE FUNCTION WinCatch%(BYVAL pcatchbuf AS LONG)
  228. '
  229. 'DECLARE SUB WinThrow(BYVAL pcatchbuf AS LONG,_
  230. '                     BYVAL nThrowBack AS INTEGER)
  231.