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

  1. '**************************************************************
  2. '*
  3. '* Include File: PMBase.BI
  4. '*
  5. '* Requires:     (WinGen.BI and RegBas.BI included)
  6. '*
  7. '* Description:  Functions and constants necessary for all PM
  8. '*               programs. Everything in this file has been
  9. '*               extracted from others.
  10. '*
  11. '*************************************************************
  12.  
  13. REM $INCLUDE: 'WinGen.BI'
  14. REM $INCLUDE: 'RegBas.bi'
  15.  
  16. TYPE RECTL       ' rcl 
  17.     xLeft AS LONG
  18.     yBottom AS LONG
  19.     xRight AS LONG
  20.     yTop AS LONG
  21. END TYPE ' RECTL
  22.  
  23. DECLARE FUNCTION WinRegisterClass%(BYVAL hab AS LONG,_
  24.                                    BYVAL pszClassName AS LONG,_
  25.                                    BYVAL pfnWndProc AS LONG,_
  26.                                    BYVAL flStyle AS LONG,_
  27.                                    BYVAL cbWindowData AS INTEGER)
  28.  
  29. DECLARE FUNCTION WinDefWindowProc&(BYVAL hwnd AS LONG,_
  30.                                    BYVAL msg AS INTEGER,_
  31.                                    BYVAL mp1 AS LONG,_
  32.                                    BYVAL mp2 AS LONG)
  33.  
  34. DECLARE FUNCTION WinDestroyWindow%(BYVAL hwnd AS LONG)
  35.  
  36. DECLARE FUNCTION WinEndPaint%(BYVAL hps AS LONG)
  37.  
  38. DECLARE FUNCTION WinBeginPaint&(BYVAL hwnd AS LONG,_
  39.                                 BYVAL hps AS LONG,_
  40.                                 BYVAL prclPaint AS LONG)
  41.  
  42. DECLARE FUNCTION WinFillRect%(BYVAL hps AS LONG,_
  43.                               BYVAL prcl AS LONG,_
  44.                               BYVAL lColor AS LONG)
  45.  
  46. ' WinInitialize/WinTerminate Interface declarations 
  47.  
  48. DECLARE FUNCTION WinInitialize&(BYVAL ushort AS INTEGER)
  49.  
  50. DECLARE FUNCTION WinTerminate%(BYVAL hab AS LONG)
  51.  
  52. ' Frame window styles 
  53.  
  54. CONST FCFTITLEBAR        = &H00000001
  55. CONST FCFSYSMENU         = &H00000002
  56. CONST FCFMENU            = &H00000004
  57. CONST FCFSIZEBORDER      = &H00000008
  58. CONST FCFMINBUTTON       = &H00000010
  59. CONST FCFMAXBUTTON       = &H00000020
  60. CONST FCFMINMAX          = &H00000030
  61. CONST FCFVERTSCROLL      = &H00000040
  62. CONST FCFHORZSCROLL      = &H00000080
  63. CONST FCFDLGBORDER       = &H00000100
  64. CONST FCFBORDER          = &H00000200
  65. CONST FCFSHELLPOSITION   = &H00000400
  66. CONST FCFTASKLIST        = &H00000800
  67. CONST FCFNOBYTEALIGN     = &H00001000
  68. CONST FCFNOMOVEWITHOWNER = &H00002000
  69. CONST FCFICON            = &H00004000
  70. CONST FCFACCELTABLE      = &H00008000
  71. CONST FCFSYSMODAL        = &H00010000
  72. CONST FCFSCREENALIGN     = &H00020000
  73. CONST FCFMOUSEALIGN      = &H00040000
  74.  
  75. ' FCFTITLEBAR | FCFSYSMENU | FCFMENU | FCFSIZEBORDER | FCFMINMAX |
  76. '   FCFICON | FCFACCELTABLE | FCFSHELLPOSITION | FCFTASKLIST 
  77. CONST FCFSTANDARD        = &H0000CC3F
  78.  
  79.  
  80. DECLARE FUNCTION WinCreateStdWindow&(BYVAL hwndParent AS LONG,_
  81.                                      BYVAL flStyle AS LONG,_
  82.                                      BYVAL pflCreateFlags AS LONG,_
  83.                                      BYVAL pszClientClass AS LONG,_
  84.                                      BYVAL pszTitle AS LONG,_
  85.                                      BYVAL styleClient AS LONG,_
  86.                                      BYVAL hmod AS INTEGER,_
  87.                                      BYVAL idResources AS INTEGER,_
  88.                                      BYVAL phwndClient AS LONG)
  89.  
  90. ' QMSG structure 
  91.  
  92. TYPE QMSG 
  93.     hwnd AS LONG
  94.     msg AS INTEGER
  95.     mp1 AS LONG
  96.     mp2 AS LONG
  97.     time AS LONG
  98.     ptl AS LONG
  99. END TYPE
  100.  
  101. ' Standard Window Messages 
  102.  
  103. CONST WMNULL             = &H0000
  104. CONST WMCREATE           = &H0001
  105. CONST WMDESTROY          = &H0002
  106.  
  107. CONST WMOTHERWINDOWDESTROYED = &H0003
  108.  
  109. CONST WMENABLE           = &H0004
  110. CONST WMSHOW             = &H0005
  111. CONST WMMOVE             = &H0006
  112. CONST WMSIZE             = &H0007
  113. CONST WMADJUSTWINDOWPOS  = &H0008
  114.  
  115. CONST WMCALCVALIDRECTS   = &H0009
  116.  
  117. CONST WMSETWINDOWPARAMS  = &H000a
  118. CONST WMQUERYWINDOWPARAMS = &H000b
  119. CONST WMHITTEST          = &H000c
  120. CONST WMACTIVATE         = &H000d
  121. CONST WMSETFOCUS         = &H000f
  122. CONST WMSETSELECTION     = &H0010
  123.  
  124. CONST WMCOMMAND          = &H0020
  125. CONST WMSYSCOMMAND       = &H0021
  126. CONST WMHELP             = &H0022
  127. CONST WMPAINT            = &H0023
  128.  
  129. CONST WMTIMER            = &H0024
  130. CONST WMSEM1             = &H0025
  131. CONST WMSEM2             = &H0026
  132. CONST WMSEM3             = &H0027
  133. CONST WMSEM4             = &H0028
  134.  
  135. CONST WMCLOSE            = &H0029
  136. CONST WMQUIT             = &H002a
  137. CONST WMSYSCOLORCHANGE   = &H002b
  138. CONST WMSYSVALUECHANGED  = &H002d
  139.  
  140. ' Control notification messages 
  141.  
  142. CONST WMCONTROL          = &H0030
  143. CONST WMVSCROLL          = &H0031
  144. CONST WMHSCROLL          = &H0032
  145. CONST WMINITMENU         = &H0033
  146. CONST WMMENUSELECT       = &H0034
  147. CONST WMMENUEND          = &H0035
  148. CONST WMDRAWITEM         = &H0036
  149. CONST WMMEASUREITEM      = &H0037
  150. CONST WMCONTROLPOINTER   = &H0038
  151. CONST WMCONTROLHEAP      = &H0039
  152. CONST WMQUERYDLGCODE     = &H003a
  153. CONST WMINITDLG          = &H003b
  154. CONST WMSUBSTITUTESTRING = &H003c
  155. CONST WMMATCHMNEMONIC    = &H003d
  156.  
  157.  
  158. CONST WMUSER             = &H1000
  159.  
  160.  
  161. DECLARE FUNCTION WinSendMsg&(BYVAL hwnd AS LONG,_
  162.                              BYVAL msg AS INTEGER,_
  163.                              BYVAL mp1 AS LONG,_
  164.                              BYVAL mp2 AS LONG)
  165.  
  166. DECLARE FUNCTION WinCreateMsgQueue&(BYVAL hab AS LONG,_
  167.                                     BYVAL cmsg AS INTEGER)
  168.  
  169. DECLARE FUNCTION WinDestroyMsgQueue%(BYVAL hmq AS LONG)
  170.  
  171.  
  172. DECLARE FUNCTION WinGetMsg%(BYVAL hab AS LONG,_
  173.                             BYVAL pqmsg AS LONG,_
  174.                             BYVAL hwndFilter AS LONG,_
  175.                             BYVAL msgFilterFirst AS INTEGER,_
  176.                             BYVAL msgFilterLast AS INTEGER)
  177.  
  178. DECLARE FUNCTION WinDispatchMsg&(BYVAL hab AS LONG,_
  179.                                  BYVAL pqmsg AS LONG)
  180.