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 / ch17 / textmsgs.bas next >
Encoding:
BASIC Source File  |  1997-02-16  |  10.2 KB  |  293 lines

  1. Attribute VB_Name = "TEXTMSGS1"
  2. Option Explicit
  3. ' copyright ⌐ 1997 by Desaware Inc. All Rights Reserved
  4.  
  5. ' TextMsgs program example
  6.  
  7. #If Win32 Then
  8. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  9. Declare Function SendMessageBynum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  10. Declare Function SendMessageBystring Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
  11. Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
  12. Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hDC As Long) As Long
  13. Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hDC As Long, lpMetrics As TEXTMETRIC) As Long
  14. Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
  15.  
  16. Type RECT
  17.         left As Long
  18.         top As Long
  19.         right As Long
  20.         bottom As Long
  21. End Type
  22.  
  23. Type TEXTMETRIC
  24.         tmHeight As Long
  25.         tmAscent As Long
  26.         tmDescent As Long
  27.         tmInternalLeading As Long
  28.         tmExternalLeading As Long
  29.         tmAveCharWidth As Long
  30.         tmMaxCharWidth As Long
  31.         tmWeight As Long
  32.         tmOverhang As Long
  33.         tmDigitizedAspectX As Long
  34.         tmDigitizedAspectY As Long
  35.         tmFirstChar As Byte
  36.         tmLastChar As Byte
  37.         tmDefaultChar As Byte
  38.         tmBreakChar As Byte
  39.         tmItalic As Byte
  40.         tmUnderlined As Byte
  41.         tmStruckOut As Byte
  42.         tmPitchAndFamily As Byte
  43.         tmCharSet As Byte
  44. End Type
  45.  
  46. #Else   ' Win16
  47. Declare Function SendMessage& Lib "User" (ByVal hwnd%, ByVal wMsg%, ByVal wParam%, lParam As Any)
  48. Declare Function SendMessageBynum& Lib "User" Alias "SendMessage" (ByVal hwnd%, ByVal wMsg%, ByVal wParam%, ByVal lParam&)
  49. Declare Function SendMessageBystring& Lib "User" Alias "SendMessage" (ByVal hwnd%, ByVal wMsg%, ByVal wParam%, ByVal lParam$)
  50. Declare Function GetDC% Lib "User" (ByVal hwnd%)
  51. Declare Function ReleaseDC% Lib "User" (ByVal hwnd%, ByVal hDC%)
  52. Declare Function GetTextMetrics% Lib "GDI" (ByVal hDC%, lpMetrics As TEXTMETRIC)
  53. Declare Function SelectObject% Lib "GDI" (ByVal hDC%, ByVal hObject%)
  54.  
  55.  
  56. Type RECT   '8 Bytes
  57.     left As Integer
  58.     top As Integer
  59.     right As Integer
  60.     bottom As Integer
  61. End Type
  62.  
  63. Type TEXTMETRIC   '31 Bytes
  64.     tmHeight As Integer
  65.     tmAscent As Integer
  66.     tmDescent As Integer
  67.     tmInternalLeading As Integer
  68.     tmExternalLeading As Integer
  69.     tmAveCharWidth As Integer
  70.     tmMaxCharWidth As Integer
  71.     tmWeight As Integer
  72.     tmItalic As String * 1
  73.     tmUnderlined As String * 1
  74.     tmStruckOut As String * 1
  75.     tmFirstChar As String * 1
  76.     tmLastChar As String * 1
  77.     tmDefaultChar As String * 1
  78.     tmBreakChar As String * 1
  79.     tmPitchAndFamily As String * 1
  80.     tmCharSet As String * 1
  81.     tmOverhang As Integer
  82.     tmDigitizedAspectX As Integer
  83.     tmDigitizedAspectY As Integer
  84. End Type
  85.  
  86. #End If
  87.  
  88.  
  89.  
  90. Public Const WM_NULL = &H0
  91. Public Const WM_CREATE = &H1
  92. Public Const WM_DESTROY = &H2
  93. Public Const WM_MOVE = &H3
  94. Public Const WM_SIZE = &H5
  95. Public Const WM_ACTIVATE = &H6
  96. Public Const WM_SETFOCUS = &H7
  97. Public Const WM_KILLFOCUS = &H8
  98. Public Const WM_ENABLE = &HA
  99. Public Const WM_SETREDRAW = &HB
  100. Public Const WM_SETTEXT = &HC
  101. Public Const WM_GETTEXT = &HD
  102. Public Const WM_GETTEXTLENGTH = &HE
  103. Public Const WM_PAINT = &HF
  104. Public Const WM_CLOSE = &H10
  105. Public Const WM_QUERYENDSESSION = &H11
  106. Public Const WM_QUIT = &H12
  107. Public Const WM_QUERYOPEN = &H13
  108. Public Const WM_ERASEBKGND = &H14
  109. Public Const WM_SYSCOLORCHANGE = &H15
  110. Public Const WM_ENDSESSION = &H16
  111. Public Const WM_SYSTEMERROR = &H17
  112. Public Const WM_SHOWWINDOW = &H18
  113. Public Const WM_CTLCOLOR = &H19
  114. Public Const WM_WININICHANGE = &H1A
  115. Public Const WM_DEVMODECHANGE = &H1B
  116. Public Const WM_ACTIVATEAPP = &H1C
  117. Public Const WM_FONTCHANGE = &H1D
  118. Public Const WM_TIMECHANGE = &H1E
  119. Public Const WM_CANCELMODE = &H1F
  120. Public Const WM_SETCURSOR = &H20
  121. Public Const WM_MOUSEACTIVATE = &H21
  122. Public Const WM_CHILDACTIVATE = &H22
  123. Public Const WM_QUEUESYNC = &H23
  124. Public Const WM_GETMINMAXINFO = &H24
  125. Public Const WM_PAINTICON = &H26
  126. Public Const WM_ICONERASEBKGND = &H27
  127. Public Const WM_NEXTDLGCTL = &H28
  128. Public Const WM_SPOOLERSTATUS = &H2A
  129. Public Const WM_DRAWITEM = &H2B
  130. Public Const WM_MEASUREITEM = &H2C
  131. Public Const WM_DELETEITEM = &H2D
  132. Public Const WM_VKEYTOITEM = &H2E
  133. Public Const WM_CHARTOITEM = &H2F
  134. Public Const WM_SETFONT = &H30
  135. Public Const WM_GETFONT = &H31
  136. Public Const WM_COMMNOTIFY = &H44
  137. Public Const WM_QUERYDRAGICON = &H37
  138. Public Const WM_COMPAREITEM = &H39
  139. Public Const WM_COMPACTING = &H41
  140. Public Const WM_WINDOWPOSCHANGING = &H46
  141. Public Const WM_WINDOWPOSCHANGED = &H47
  142. Public Const WM_POWER = &H48
  143. Public Const WM_NCCREATE = &H81
  144. Public Const WM_NCDESTROY = &H82
  145. Public Const WM_NCCALCSIZE = &H83
  146. Public Const WM_NCHITTEST = &H84
  147. Public Const WM_NCPAINT = &H85
  148. Public Const WM_NCACTIVATE = &H86
  149. Public Const WM_GETDLGCODE = &H87
  150. Public Const WM_NCMOUSEMOVE = &HA0
  151. Public Const WM_NCLBUTTONDOWN = &HA1
  152. Public Const WM_NCLBUTTONUP = &HA2
  153. Public Const WM_NCLBUTTONDBLCLK = &HA3
  154. Public Const WM_NCRBUTTONDOWN = &HA4
  155. Public Const WM_NCRBUTTONUP = &HA5
  156. Public Const WM_NCRBUTTONDBLCLK = &HA6
  157. Public Const WM_NCMBUTTONDOWN = &HA7
  158. Public Const WM_NCMBUTTONUP = &HA8
  159. Public Const WM_NCMBUTTONDBLCLK = &HA9
  160. Public Const WM_KEYFIRST = &H100
  161. Public Const WM_KEYDOWN = &H100
  162. Public Const WM_KEYUP = &H101
  163. Public Const WM_CHAR = &H102
  164. Public Const WM_DEADCHAR = &H103
  165. Public Const WM_SYSKEYDOWN = &H104
  166. Public Const WM_SYSKEYUP = &H105
  167. Public Const WM_SYSCHAR = &H106
  168. Public Const WM_SYSDEADCHAR = &H107
  169. Public Const WM_KEYLAST = &H108
  170. Public Const WM_INITDIALOG = &H110
  171. Public Const WM_COMMAND = &H111
  172. Public Const WM_SYSCOMMAND = &H112
  173. Public Const WM_TIMER = &H113
  174. Public Const WM_HSCROLL = &H114
  175. Public Const WM_VSCROLL = &H115
  176. Public Const WM_INITMENU = &H116
  177. Public Const WM_INITMENUPOPUP = &H117
  178. Public Const WM_MENUSELECT = &H11F
  179. Public Const WM_MENUCHAR = &H120
  180. Public Const WM_ENTERIDLE = &H121
  181. Public Const WM_MOUSEFIRST = &H200
  182. Public Const WM_MOUSEMOVE = &H200
  183. Public Const WM_LBUTTONDOWN = &H201
  184. Public Const WM_LBUTTONUP = &H202
  185. Public Const WM_LBUTTONDBLCLK = &H203
  186. Public Const WM_RBUTTONDOWN = &H204
  187. Public Const WM_RBUTTONUP = &H205
  188. Public Const WM_RBUTTONDBLCLK = &H206
  189. Public Const WM_MBUTTONDOWN = &H207
  190. Public Const WM_MBUTTONUP = &H208
  191. Public Const WM_MBUTTONDBLCLK = &H209
  192. Public Const WM_MOUSELAST = &H209
  193. Public Const WM_PARENTNOTIFY = &H210
  194. Public Const WM_MDICREATE = &H220
  195. Public Const WM_MDIDESTROY = &H221
  196. Public Const WM_MDIACTIVATE = &H222
  197. Public Const WM_MDIRESTORE = &H223
  198. Public Const WM_MDINEXT = &H224
  199. Public Const WM_MDIMAXIMIZE = &H225
  200. Public Const WM_MDITILE = &H226
  201. Public Const WM_MDICASCADE = &H227
  202. Public Const WM_MDIICONARRANGE = &H228
  203. Public Const WM_MDIGETACTIVE = &H229
  204. Public Const WM_MDISETMENU = &H230
  205. Public Const WM_DROPFILES = &H233
  206. Public Const WM_CUT = &H300
  207. Public Const WM_COPY = &H301
  208. Public Const WM_PASTE = &H302
  209. Public Const WM_CLEAR = &H303
  210. Public Const WM_UNDO = &H304
  211. Public Const WM_RENDERFORMAT = &H305
  212. Public Const WM_RENDERALLFORMATS = &H306
  213. Public Const WM_DESTROYCLIPBOARD = &H307
  214. Public Const WM_DRAWCLIPBOARD = &H308
  215. Public Const WM_PAINTCLIPBOARD = &H309
  216. Public Const WM_VSCROLLCLIPBOARD = &H30A
  217. Public Const WM_SIZECLIPBOARD = &H30B
  218. Public Const WM_ASKCBFORMATNAME = &H30C
  219. Public Const WM_CHANGECBCHAIN = &H30D
  220. Public Const WM_HSCROLLCLIPBOARD = &H30E
  221. Public Const WM_QUERYNEWPALETTE = &H30F
  222. Public Const WM_PALETTEISCHANGING = &H310
  223. Public Const WM_PALETTECHANGED = &H311
  224.  
  225.  
  226. ' Note how edit message numbers have changed
  227. #If Win32 Then
  228. Public Const EM_GETSEL = &HB0
  229. Public Const EM_SETSEL = &HB1
  230. Public Const EM_GETRECT = &HB2
  231. Public Const EM_SETRECT = &HB3
  232. Public Const EM_SETRECTNP = &HB4
  233. Public Const EM_SCROLL = &HB5
  234. Public Const EM_LINESCROLL = &HB6
  235. Public Const EM_SCROLLCARET = &HB7
  236. Public Const EM_GETMODIFY = &HB8
  237. Public Const EM_SETMODIFY = &HB9
  238. Public Const EM_GETLINECOUNT = &HBA
  239. Public Const EM_LINEINDEX = &HBB
  240. Public Const EM_SETHANDLE = &HBC
  241. Public Const EM_GETHANDLE = &HBD
  242. Public Const EM_GETTHUMB = &HBE
  243. Public Const EM_LINELENGTH = &HC1
  244. Public Const EM_REPLACESEL = &HC2
  245. Public Const EM_GETLINE = &HC4
  246. Public Const EM_LIMITTEXT = &HC5
  247. Public Const EM_CANUNDO = &HC6
  248. Public Const EM_UNDO = &HC7
  249. Public Const EM_FMTLINES = &HC8
  250. Public Const EM_LINEFROMCHAR = &HC9
  251. Public Const EM_SETTABSTOPS = &HCB
  252. Public Const EM_SETPASSWORDCHAR = &HCC
  253. Public Const EM_EMPTYUNDOBUFFER = &HCD
  254. Public Const EM_GETFIRSTVISIBLELINE = &HCE
  255. Public Const EM_SETREADONLY = &HCF
  256. Public Const EM_SETWORDBREAKPROC = &HD0
  257. Public Const EM_GETWORDBREAKPROC = &HD1
  258. Public Const EM_GETPASSWORDCHAR = &HD2
  259. #Else
  260. Public Const WM_USER = &H400
  261. Public Const EM_GETSEL = WM_USER + 0
  262. Public Const EM_SETSEL = WM_USER + 1
  263. Public Const EM_GETRECT = WM_USER + 2
  264. Public Const EM_SETRECT = WM_USER + 3
  265. Public Const EM_SETRECTNP = WM_USER + 4
  266. Public Const EM_SCROLL = WM_USER + 5
  267. Public Const EM_LINESCROLL = WM_USER + 6
  268. Public Const EM_GETMODIFY = WM_USER + 8
  269. Public Const EM_SETMODIFY = WM_USER + 9
  270. Public Const EM_GETLINECOUNT = WM_USER + 10
  271. Public Const EM_LINEINDEX = WM_USER + 11
  272. Public Const EM_GETTHUMB = WM_USER + 14
  273. Public Const EM_LINELENGTH = WM_USER + 17
  274. Public Const EM_REPLACESEL = WM_USER + 18
  275. Public Const EM_SETFONT = WM_USER + 19
  276. Public Const EM_GETLINE = WM_USER + 20
  277. Public Const EM_LIMITTEXT = WM_USER + 21
  278. Public Const EM_CANUNDO = WM_USER + 22
  279. Public Const EM_UNDO = WM_USER + 23
  280. Public Const EM_FMTLINES = WM_USER + 24
  281. Public Const EM_LINEFROMCHAR = WM_USER + 25
  282. Public Const EM_SETWORDBREAK = WM_USER + 26
  283. Public Const EM_SETTABSTOPS = WM_USER + 27
  284. Public Const EM_SETPASSWORDCHAR = WM_USER + 28
  285. Public Const EM_EMPTYUNDOBUFFER = WM_USER + 29
  286. Public Const EM_MSGMAX = WM_USER + 30
  287. Public Const EM_GETFIRSTVISIBLELINE = (WM_USER + 30)
  288. Public Const EM_SETREADONLY = (WM_USER + 31)
  289. Public Const EM_SETWORDBREAKPROC = (WM_USER + 32)
  290. Public Const EM_GETWORDBREAKPROC = (WM_USER + 33)
  291. Public Const EM_GETPASSWORDCHAR = (WM_USER + 34)
  292. #End If
  293.