home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2BAS.ZIP / WINMAN1.BI < prev    next >
Text File  |  1989-08-23  |  11KB  |  321 lines

  1. '**************************************************************
  2. '*
  3. '* Include File: WinMan1.BI
  4. '*
  5. '* Requires:     none
  6. '*
  7. '* Description:  Window Manager Subsection part 1
  8. '*               (much moved to PMBase.BI)
  9. '*
  10. '*************************************************************
  11.  
  12. 'DECLARE FUNCTION WinRegisterClass%(BYVAL hab AS LONG,_
  13. '                                   BYVAL pszClassName AS LONG,_
  14. '                                   BYVAL pfnWndProc AS LONG,_
  15. '                                   BYVAL flStyle AS LONG,_
  16. '                                   BYVAL cbWindowData AS INTEGER)
  17. '
  18. 'DECLARE FUNCTION WinDefWindowProc&(BYVAL hwnd AS LONG,_
  19. '                                   BYVAL msg AS INTEGER,_
  20. '                                   BYVAL mp1 AS LONG,_
  21. '                                   BYVAL mp2 AS LONG)
  22. '
  23. 'DECLARE FUNCTION WinDestroyWindow%(BYVAL hwnd AS LONG)
  24. '
  25.  
  26. DECLARE FUNCTION WinShowWindow%(BYVAL hwnd AS LONG,_
  27.                                 BYVAL fShow AS INTEGER)
  28.  
  29. DECLARE FUNCTION WinQueryWindowRect%(BYVAL hwnd AS LONG,_
  30.                                      BYVAL prclDest AS LONG)
  31.  
  32. DECLARE FUNCTION WinGetPS&(BYVAL hwnd AS LONG)
  33.  
  34. DECLARE FUNCTION WinReleasePS%(BYVAL hps AS LONG)
  35.  
  36. 'DECLARE FUNCTION WinEndPaint%(BYVAL hps AS LONG)
  37.  
  38. DECLARE FUNCTION WinGetClipPS&(BYVAL hwnd AS LONG,_
  39.                                BYVAL hwndClip AS LONG,_
  40.                                BYVAL fs AS INTEGER)
  41.  
  42. 'DECLARE FUNCTION WinBeginPaint&(BYVAL hwnd AS LONG,_
  43. '                                BYVAL hps AS LONG,_
  44. '                                BYVAL prclPaint AS LONG)
  45.  
  46. DECLARE FUNCTION WinOpenWindowDC&(BYVAL hwnd AS LONG)
  47.  
  48. DECLARE FUNCTION WinScrollWindow%(BYVAL hwnd AS LONG,_
  49.                                   BYVAL dx AS INTEGER,_
  50.                                   BYVAL dy AS INTEGER,_
  51.                                   BYVAL prclScroll AS LONG,_
  52.                                   BYVAL prclClip AS LONG,_
  53.                                   BYVAL hrgnUpdate AS LONG,_
  54.                                   BYVAL prclUpdate AS LONG,_
  55.                                   BYVAL rgfsw AS INTEGER)
  56.  
  57. ' WinGetClipPS() flags 
  58.  
  59. CONST PSFLOCKWINDOWUPDATE    = &H0001
  60. CONST PSFCLIPUPWARDS         = &H0002
  61. CONST PSFCLIPDOWNWARDS       = &H0004
  62. CONST PSFCLIPSIBLINGS        = &H0008
  63. CONST PSFCLIPCHILDREN        = &H0010
  64. CONST PSFPARENTCLIP          = &H0020
  65.  
  66.  
  67. ' WinScrollWindow() flags 
  68.  
  69. CONST SWSCROLLCHILDREN   = &H0001
  70. CONST SWINVALIDATERGN    = &H0002
  71.  
  72. 'DECLARE FUNCTION WinFillRect%(BYVAL hps AS LONG,_
  73. '                              BYVAL prcl AS LONG,_
  74. '                              BYVAL lColor AS LONG)
  75.  
  76. ' WinInitialize/WinTerminate Interface declarations 
  77.  
  78. TYPE QVERSDATA
  79.     environment AS INTEGER
  80.     version AS INTEGER
  81. END TYPE
  82.  
  83. CONST QVOS2          = &H0000
  84. CONST QVCMS          = &H0001
  85. CONST QVTSO          = &H0002
  86. CONST QVTSOBATCH     = &H0003
  87.  
  88.  
  89. DECLARE FUNCTION WinQueryVersion&(BYVAL hab AS LONG)
  90.  
  91. 'DECLARE FUNCTION WinInitialize&(BYVAL ushort AS INTEGER)
  92.  
  93. 'DECLARE FUNCTION WinTerminate%(BYVAL hab AS LONG)
  94.  
  95.  
  96. '*****************  End of Window Manager COMMON section *****************
  97.  
  98.  
  99. DECLARE FUNCTION WinCreateWindow&(BYVAL hwndParent AS LONG,_
  100.                                   BYVAL pszClass AS LONG,_
  101.                                   BYVAL pszName AS LONG,_
  102.                                   BYVAL flStyle AS LONG,_
  103.                                   BYVAL x AS INTEGER,_
  104.                                   BYVAL y AS INTEGER,_
  105.                                   BYVAL cx AS INTEGER,_
  106.                                   BYVAL cy AS INTEGER,_
  107.                                   BYVAL hwndOwner AS LONG,_
  108.                                   BYVAL hwndInsertBehind AS LONG,_
  109.                                   BYVAL id AS INTEGER,_
  110.                                   BYVAL pCtlData AS LONG,_
  111.                                   BYVAL pPresParams AS LONG)
  112.  
  113. DECLARE FUNCTION WinEnableWindow%(BYVAL hwnd AS LONG,_
  114.                                   BYVAL fEnable AS INTEGER)
  115.  
  116. DECLARE FUNCTION WinIsWindowEnabled%(BYVAL hwnd AS LONG)
  117.  
  118. DECLARE FUNCTION WinEnableWindowUpdate%(BYVAL hwnd AS LONG,_
  119.                                         BYVAL fEnable AS INTEGER)
  120.  
  121. DECLARE FUNCTION WinIsWindowVisible%(BYVAL hwnd AS LONG)
  122. DECLARE FUNCTION WinQueryWindowText%(BYVAL hwnd AS LONG,_
  123.                                      BYVAL cchBufferMax AS INTEGER,_
  124.                                      BYVAL pchBuffer AS LONG)
  125.  
  126. DECLARE FUNCTION WinSetWindowText%(BYVAL hwnd AS LONG,_
  127.                                    BYVAL pszText AS LONG)
  128. DECLARE FUNCTION WinQueryWindowTextLength%(BYVAL hwnd AS LONG)
  129. DECLARE FUNCTION WinWindowFromID&(BYVAL hwndParent AS LONG,_
  130.                                   BYVAL id AS INTEGER)
  131.  
  132. DECLARE FUNCTION WinIsWindow%(BYVAL hab AS LONG,_
  133.                               BYVAL hwnd AS LONG)
  134.  
  135. DECLARE FUNCTION WinQueryWindow&(BYVAL hwnd AS LONG,_
  136.                                  BYVAL cmd AS INTEGER,_
  137.                                  BYVAL fLock AS INTEGER)
  138.  
  139. DECLARE FUNCTION WinMultWindowFromIDs%(BYVAL hwndParent AS LONG,_
  140.                                        BYVAL prghwnd AS LONG,_
  141.                                        BYVAL idFirst AS INTEGER,_
  142.                                        BYVAL idLast AS INTEGER)
  143.  
  144. ' WinQueryWindow() codes 
  145.  
  146. CONST QWNEXT     =0
  147. CONST QWPREV     =1
  148. CONST QWTOP      =2
  149. CONST QWBOTTOM   =3
  150. CONST QWOWNER    =4
  151. CONST QWPARENT   =5
  152. CONST QWNEXTTOP  =6
  153. CONST QWPREVTOP  =7
  154. CONST QWFRAMEOWNER  =8
  155.  
  156.  
  157. DECLARE FUNCTION WinSetParent%(BYVAL hwnd AS LONG,_
  158.                                BYVAL hwndNewParent AS LONG,_
  159.                                BYVAL fRedraw AS INTEGER)
  160.  
  161. DECLARE FUNCTION WinIsChild%(BYVAL hwnd AS LONG,_
  162.                              BYVAL hwndParent AS LONG)
  163.  
  164. DECLARE FUNCTION WinSetOwner%(BYVAL hwnd AS LONG,_
  165.                               BYVAL hwndNewOwner AS LONG)
  166.  
  167. DECLARE FUNCTION WinQueryWindowProcess%(BYVAL hwnd AS LONG,_
  168.                                         BYVAL ppid AS LONG,_
  169.                                         BYVAL ptid AS LONG)
  170.  
  171. DECLARE FUNCTION WinQueryObjectWindow&(BYVAL hwndDesktop AS LONG)
  172.  
  173. DECLARE FUNCTION WinQueryDesktopWindow&(BYVAL hab AS LONG,_
  174.                                         BYVAL hdc AS LONG)
  175.  
  176. '** Window positioning functions 
  177.  
  178. ' WinSetMultWindowPos() structure 
  179.  
  180. TYPE SWP 
  181.     fs AS INTEGER
  182.     cy AS INTEGER
  183.     cx AS INTEGER
  184.     y AS INTEGER
  185.     x AS INTEGER
  186.     hwndInsertBehind AS LONG
  187.     hwnd AS LONG
  188. END TYPE
  189.  
  190. DECLARE FUNCTION WinSetWindowPos%(BYVAL hwnd AS LONG,_
  191.                                   BYVAL hwndInsertBehind AS LONG,_
  192.                                   BYVAL x AS INTEGER,_
  193.                                   BYVAL y AS INTEGER,_
  194.                                   BYVAL cx AS INTEGER,_
  195.                                   BYVAL cy AS INTEGER,_
  196.                                   BYVAL fs AS INTEGER)
  197.  
  198. DECLARE FUNCTION WinQueryWindowPos%(BYVAL hwnd AS LONG,_
  199.                                     BYVAL pswp AS LONG)
  200.  
  201. DECLARE FUNCTION WinSetMultWindowPos%(BYVAL hab AS LONG,_
  202.                                       BYVAL pswp AS LONG,_
  203.                                       BYVAL cswp AS INTEGER)
  204.  
  205. ' WinSetWindowPos() flags 
  206.  
  207. CONST SWPSIZE        = &H0001
  208. CONST SWPMOVE        = &H0002
  209. CONST SWPZORDER      = &H0004
  210. CONST SWPSHOW        = &H0008
  211. CONST SWPHIDE        = &H0010
  212. CONST SWPNOREDRAW    = &H0020
  213. CONST SWPNOADJUST    = &H0040
  214. CONST SWPACTIVATE    = &H0080
  215. CONST SWPDEACTIVATE  = &H0100
  216. CONST SWPEXTSTATECHANGE  = &H0200
  217. CONST SWPMINIMIZE    = &H0400
  218. CONST SWPMAXIMIZE    = &H0800
  219. CONST SWPRESTORE     = &H1000
  220. CONST SWPFOCUSACTIVATE   = &H2000
  221. CONST SWPFOCUSDEACTIVATE = &H4000
  222.  
  223. ' Window painting 
  224.  
  225. DECLARE FUNCTION WinUpdateWindow%(BYVAL hwnd AS LONG)
  226.  
  227. DECLARE FUNCTION WinInvalidateRect%(BYVAL hwnd AS LONG,_
  228.                                     BYVAL pwrc AS LONG,_
  229.                                     BYVAL fIncludeChildren AS INTEGER)
  230.  
  231. DECLARE FUNCTION WinInvalidateRegion%(BYVAL hwnd AS LONG,_
  232.                                       BYVAL hrgn AS LONG,_
  233.                                       BYVAL fIncludeChildren AS INTEGER)
  234.  
  235.  
  236. ' Drawing helpers 
  237.  
  238. DECLARE FUNCTION WinInvertRect%(BYVAL hps AS LONG,_
  239.                                 BYVAL prcl AS LONG)
  240.  
  241. DECLARE FUNCTION WinDrawBitmap%(BYVAL hpsDst AS LONG,_
  242.                                 BYVAL hbm AS LONG,_
  243.                                 BYVAL pwrcSrc AS LONG,_
  244.                                 BYVAL pptlDst AS LONG,_
  245.                                 BYVAL clrFore AS LONG,_
  246.                                 BYVAL clrBack AS LONG,_
  247.                                 BYVAL fs AS INTEGER)
  248.  
  249. ' WinDrawBitmap() flags 
  250.  
  251. CONST DBMNORMAL      = &H0000
  252. CONST DBMINVERT      = &H0001
  253. CONST DBMHALFTONE    = &H0002
  254. CONST DBMSTRETCH     = &H0004
  255. CONST DBMIMAGEATTRS    = &H0008
  256.  
  257.  
  258. DECLARE FUNCTION WinDrawText%(BYVAL hps AS LONG,_
  259.                               BYVAL cchText AS INTEGER,_
  260.                               BYVAL lpchText AS LONG,_
  261.                               BYVAL prcl AS LONG,_
  262.                               BYVAL clrFore AS LONG,_
  263.                               BYVAL clrBack AS LONG,_
  264.                               BYVAL rgfCmd AS INTEGER)
  265. '
  266. ' * WinDrawText() codes:
  267. ' * From DTLEFT to DTEXTERNALLEADING, the codes are designed to be OR'ed with
  268. ' * SSTEXT to create variations of the basic text static item.
  269. CONST DTLEFT             = &H0000
  270. CONST DTEXTERNALLEADING  = &H0080
  271. CONST DTCENTER           = &H0100
  272. CONST DTRIGHT            = &H0200
  273. CONST DTTOP              = &H0000
  274. CONST DTVCENTER          = &H0400
  275. CONST DTBOTTOM           = &H0800
  276. CONST DTHALFTONE         = &H1000
  277. CONST DTMNEMONIC         = &H2000
  278. CONST DTWORDBREAK        = &H4000
  279. CONST DTERASERECT        = &H8000
  280. CONST DTQUERYEXTENT      = &H0002
  281. CONST DTTEXTATTRS        = &H0040
  282.  
  283.  
  284. DECLARE FUNCTION WinDrawBorder%(BYVAL hps AS LONG,_
  285.                                 BYVAL prcl AS LONG,_
  286.                                 BYVAL cx AS INTEGER,_
  287.                                 BYVAL cy AS INTEGER,_
  288.                                 BYVAL clrFore AS LONG,_
  289.                                 BYVAL clrBack AS LONG,_
  290.                                 BYVAL rgfCmd AS INTEGER)
  291.  
  292. ' WinDrawBorder() flags 
  293.  
  294. CONST DBPATCOPY          = &H0000
  295. CONST DBPATINVERT        = &H0001
  296. CONST DBDESTINVERT       = &H0002
  297. CONST DBAREAMIXMODE      = &H0003
  298.  
  299. CONST DBROP              = &H0007
  300. CONST DBINTERIOR         = &H0008
  301. CONST DBAREAATTRS        = &H0010
  302. CONST DBSTANDARD         = &H0100
  303. CONST DBDLGBORDER        = &H0200
  304.  
  305.  
  306.  
  307. '* Resource loading functions 
  308.  
  309. DECLARE FUNCTION WinLoadString%(BYVAL hab AS LONG,_
  310.                                 BYVAL hmod AS INTEGER,_
  311.                                 BYVAL id AS INTEGER,_
  312.                                 BYVAL cchMax AS INTEGER,_
  313.                                 BYVAL pchBuffer AS LONG)
  314.  
  315. DECLARE FUNCTION WinLoadMessage%(BYVAL hab AS LONG,_
  316.                                  BYVAL hmod AS INTEGER,_
  317.                                  BYVAL id AS INTEGER,_
  318.                                  BYVAL cchMax AS INTEGER,_
  319.                                  BYVAL pchBuffer AS LONG)
  320.