home *** CD-ROM | disk | FTP | other *** search
/ Dan Appleman's Visual Bas…s Guide to the Win32 API / Dan.Applmans.Visual.Basic.5.0.Programmers.Guide.To.The.Win32.API.1997.Ziff-Davis.Press.CD / VB5PG32.mdf / vbpg32 / samples4 / ch05 / winview.bas < prev    next >
Encoding:
BASIC Source File  |  1996-02-16  |  9.2 KB  |  239 lines

  1. Attribute VB_Name = "WINVIEW1"
  2. Option Explicit
  3. ' Copyright ⌐ 1996 by Desaware. All Rights Reserved
  4. ' Winview sample program
  5. ' Copyright (c) 1992-1995 by Desaware
  6. ' Constants based on file api32.txt
  7. '
  8. '-------------------------------------------------------
  9. '           Application global contstants
  10. '-------------------------------------------------------
  11. Public PointMode%
  12.  
  13. '-------------------------------------------------------
  14. '           API type definitions
  15. '-------------------------------------------------------
  16. Type POINTAPI
  17.         X As Long
  18.         Y As Long
  19. End Type
  20.  
  21. Type RECT
  22.         Left As Long
  23.         Top As Long
  24.         Right As Long
  25.         Bottom As Long
  26. End Type
  27.  
  28. '-------------------------------------------------------
  29. '           API contstants
  30. '-------------------------------------------------------
  31.  
  32. ' Straight port to Win32. The old GWW and GCW constants are gone
  33. Public Const GWL_WNDPROC = (-4)
  34. Public Const GWL_HINSTANCE = (-6)
  35. Public Const GWL_HWNDPARENT = (-8)
  36. Public Const GWL_STYLE = (-16)
  37. Public Const GWL_EXSTYLE = (-20)
  38. Public Const GWL_USERDATA = (-21)
  39. Public Const GWL_ID = (-12)
  40.  
  41. Public Const GCL_MENUNAME = (-8)
  42. Public Const GCL_HBRBACKGROUND = (-10)
  43. Public Const GCL_HCURSOR = (-12)
  44. Public Const GCL_HICON = (-14)
  45. Public Const GCL_HMODULE = (-16)
  46. Public Const GCL_CBWNDEXTRA = (-18)
  47. Public Const GCL_CBCLSEXTRA = (-20)
  48. Public Const GCL_WNDPROC = (-24)
  49. Public Const GCL_STYLE = (-26)
  50. Public Const GCW_ATOM = (-32)
  51.  
  52.  
  53. ' Style constants remain the same
  54. ' The previous version used the "Global" keyword. Replacing
  55. ' it with "Public" is optional.
  56. Public Const WS_OVERLAPPED = &H0&
  57. Public Const WS_POPUP = &H80000000
  58. Public Const WS_CHILD = &H40000000
  59. Public Const WS_MINIMIZE = &H20000000
  60. Public Const WS_VISIBLE = &H10000000
  61. Public Const WS_DISABLED = &H8000000
  62. Public Const WS_CLIPSIBLINGS = &H4000000
  63. Public Const WS_CLIPCHILDREN = &H2000000
  64. Public Const WS_MAXIMIZE = &H1000000
  65. Public Const WS_CAPTION = &HC00000                  '  WS_BORDER Or WS_DLGFRAME
  66. Public Const WS_BORDER = &H800000
  67. Public Const WS_DLGFRAME = &H400000
  68. Public Const WS_VSCROLL = &H200000
  69. Public Const WS_HSCROLL = &H100000
  70. Public Const WS_SYSMENU = &H80000
  71. Public Const WS_THICKFRAME = &H40000
  72. Public Const WS_GROUP = &H20000
  73. Public Const WS_TABSTOP = &H10000
  74.  
  75. Public Const WS_MINIMIZEBOX = &H20000
  76. Public Const WS_MAXIMIZEBOX = &H10000
  77.  
  78. Public Const CS_VREDRAW = &H1
  79. Public Const CS_HREDRAW = &H2
  80. Public Const CS_KEYCVTWINDOW = &H4
  81. Public Const CS_DBLCLKS = &H8
  82. Public Const CS_OWNDC = &H20
  83. Public Const CS_CLASSDC = &H40
  84. Public Const CS_PARENTDC = &H80
  85. Public Const CS_NOKEYCVT = &H100
  86. Public Const CS_NOCLOSE = &H200
  87. Public Const CS_SAVEBITS = &H800
  88. Public Const CS_BYTEALIGNCLIENT = &H1000
  89. Public Const CS_BYTEALIGNWINDOW = &H2000
  90. Public Const CS_PUBLICCLASS = &H4000
  91.  
  92. Public Const GW_HWNDFIRST = 0
  93. Public Const GW_HWNDLAST = 1
  94. Public Const GW_HWNDNEXT = 2
  95. Public Const GW_HWNDPREV = 3
  96. Public Const GW_OWNER = 4
  97. Public Const GW_CHILD = 5
  98. Public Const GW_MAX = 5
  99.  
  100. Public Const ES_LEFT = &H0&
  101. Public Const ES_CENTER = &H1&
  102. Public Const ES_RIGHT = &H2&
  103. Public Const ES_MULTILINE = &H4&
  104. Public Const ES_UPPERCASE = &H8&
  105. Public Const ES_LOWERCASE = &H10&
  106. Public Const ES_PASSWORD = &H20&
  107. Public Const ES_AUTOVSCROLL = &H40&
  108. Public Const ES_AUTOHSCROLL = &H80&
  109. Public Const ES_NOHIDESEL = &H100&
  110. Public Const ES_OEMCONVERT = &H400&
  111. Public Const ES_READONLY = &H800&
  112. Public Const ES_WANTRETURN = &H1000&
  113.  
  114. Public Const BS_PUSHBUTTON = &H0&
  115. Public Const BS_DEFPUSHBUTTON = &H1&
  116. Public Const BS_CHECKBOX = &H2&
  117. Public Const BS_AUTOCHECKBOX = &H3&
  118. Public Const BS_RADIOBUTTON = &H4&
  119. Public Const BS_3STATE = &H5&
  120. Public Const BS_AUTO3STATE = &H6&
  121. Public Const BS_GROUPBOX = &H7&
  122. Public Const BS_USERBUTTON = &H8&
  123. Public Const BS_AUTORADIOBUTTON = &H9&
  124. Public Const BS_OWNERDRAW = &HB&
  125. Public Const BS_LEFTTEXT = &H20&
  126. ' New button styles for Windows 95
  127. Public Const BS_TEXT = 0&
  128. Public Const BS_ICON = &H40&
  129. Public Const BS_BITMAP = &H80&
  130. Public Const BS_LEFT = &H100&
  131. Public Const BS_RIGHT = &H200&
  132. Public Const BS_CENTER = &H300&
  133. Public Const BS_TOP = &H400&
  134. Public Const BS_BOTTOM = &H800&
  135. Public Const BS_VCENTER = &HC00&
  136. Public Const BS_PUSHLIKE = &H1000&
  137. Public Const BS_MULTILINE = &H2000&
  138. Public Const BS_NOTIFY = &H4000&
  139. Public Const BS_FLAT = &H8000&
  140. Public Const BS_RIGHTBUTTON = &H20&
  141.  
  142. Public Const SS_LEFT = &H0&
  143. Public Const SS_CENTER = &H1&
  144. Public Const SS_RIGHT = &H2&
  145. Public Const SS_ICON = &H3&
  146. Public Const SS_BLACKRECT = &H4&
  147. Public Const SS_GRAYRECT = &H5&
  148. Public Const SS_WHITERECT = &H6&
  149. Public Const SS_BLACKFRAME = &H7&
  150. Public Const SS_GRAYFRAME = &H8&
  151. Public Const SS_WHITEFRAME = &H9&
  152. Public Const SS_USERITEM = &HA&
  153. Public Const SS_SIMPLE = &HB&
  154. Public Const SS_LEFTNOWORDWRAP = &HC&
  155. Public Const SS_NOPREFIX = &H80           '  Don't do "&" character translation
  156.  
  157. Public Const DS_ABSALIGN = &H1&
  158. Public Const DS_SYSMODAL = &H2&
  159. Public Const DS_LOCALEDIT = &H20
  160. Public Const DS_SETFONT = &H40
  161. Public Const DS_MODALFRAME = &H80
  162. Public Const DS_NOIDLEMSG = &H100
  163. Public Const DS_SETFOREGROUND = &H200
  164.  
  165.  
  166. Global Const WM_USER = &H400
  167.  
  168. ' Watch out here - control message numbers have changed!
  169. Public Const LB_RESETCONTENT = &H184
  170. Public Const LB_SETTABSTOPS = &H192
  171.  
  172. Public Const LBS_NOTIFY = &H1&
  173. Public Const LBS_SORT = &H2&
  174. Public Const LBS_NOREDRAW = &H4&
  175. Public Const LBS_MULTIPLESEL = &H8&
  176. Public Const LBS_OWNERDRAWFIXED = &H10&
  177. Public Const LBS_OWNERDRAWVARIABLE = &H20&
  178. Public Const LBS_HASSTRINGS = &H40&
  179. Public Const LBS_USETABSTOPS = &H80&
  180. Public Const LBS_NOINTEGRALHEIGHT = &H100&
  181. Public Const LBS_MULTICOLUMN = &H200&
  182. Public Const LBS_WANTKEYBOARDINPUT = &H400&
  183. Public Const LBS_EXTENDEDSEL = &H800&
  184. Public Const LBS_DISABLENOSCROLL = &H1000&
  185. Public Const LBS_NODATA = &H2000&
  186.  
  187. Public Const CBS_SIMPLE = &H1&
  188. Public Const CBS_DROPDOWN = &H2&
  189. Public Const CBS_DROPDOWNLIST = &H3&
  190. Public Const CBS_OWNERDRAWFIXED = &H10&
  191. Public Const CBS_OWNERDRAWVARIABLE = &H20&
  192. Public Const CBS_AUTOHSCROLL = &H40&
  193. Public Const CBS_OEMCONVERT = &H80&
  194. Public Const CBS_SORT = &H100&
  195. Public Const CBS_HASSTRINGS = &H200&
  196. Public Const CBS_NOINTEGRALHEIGHT = &H400&
  197. Public Const CBS_DISABLENOSCROLL = &H800&
  198.  
  199. Public Const SBS_HORZ = &H0&
  200. Public Const SBS_VERT = &H1&
  201. Public Const SBS_TOPALIGN = &H2&
  202. Public Const SBS_LEFTALIGN = &H2&
  203. Public Const SBS_BOTTOMALIGN = &H4&
  204. Public Const SBS_RIGHTALIGN = &H4&
  205. Public Const SBS_SIZEBOXTOPLEFTALIGN = &H2&
  206. Public Const SBS_SIZEBOXBOTTOMRIGHTALIGN = &H4&
  207. Public Const SBS_SIZEBOX = &H8&
  208.  
  209.  
  210. Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
  211. Declare Function IsWindowEnabled Lib "user32" (ByVal hwnd As Long) As Long
  212. Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Long
  213. Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
  214. Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
  215. Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
  216. Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
  217. Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
  218. Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam&) As Long
  219. Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long
  220. Declare Function GetCapture Lib "user32" () As Long
  221. Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  222. Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  223. Declare Function GetCurrentProcessId Lib "kernel32" () As Long
  224. Declare Function GetDesktopWindow Lib "user32" () As Long
  225. Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
  226. Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
  227. Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
  228. Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  229. Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
  230. Declare Function ReleaseCapture Lib "user32" () As Long
  231. ' We create a special SendMessage alias that accepts a long value by reference
  232. Declare Function SendMessageLongByRef Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, lParam As Long) As Long
  233. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
  234. Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
  235. Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  236. ' Note the use of two longs to transfer a POINTAPI structure.
  237. Declare Function WindowFromPoint Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
  238.  
  239.