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 / classlib / desaware / dwsclr.cls < prev    next >
Encoding:
Text File  |  1996-04-05  |  9.8 KB  |  342 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4. END
  5. Attribute VB_Name = "dwSysColor"
  6. Attribute VB_Creatable = False
  7. Attribute VB_Exposed = True
  8. Option Explicit
  9.  
  10. ' Class dwSysColor
  11. ' Desaware API Toolkit object library
  12. ' Copyright (c) 1996 by Desaware Inc.
  13. ' All rights reserved
  14.  
  15.  
  16. #If Win32 Then
  17. Private Declare Function apiGetSysColorBrush& Lib "user32" Alias "GetSysColorBrush" (ByVal nIndex As Long)
  18. Private Declare Function apiGetSysColor Lib "user32" Alias "GetSysColor" (ByVal nIndex As Long) As Long
  19. Private Declare Function apiSetSysColors Lib "user32" Alias "SetSysColors" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
  20. #Else
  21. Private Declare Function apiGetSysColor& Lib "user" Alias "GetSysColor" (ByVal nIndex%)
  22. Private Declare Sub apiSetSysColors Lib "user" Alias "SetSysColors" (ByVal nChanges%, lpSysColor%, lpColorValues&)
  23. #End If
  24.  
  25. Private Const COLOR_SCROLLBAR = 0
  26. Private Const COLOR_BACKGROUND = 1
  27. Private Const COLOR_ACTIVECAPTION = 2
  28. Private Const COLOR_INACTIVECAPTION = 3
  29. Private Const COLOR_MENU = 4
  30. Private Const COLOR_WINDOW = 5
  31. Private Const COLOR_WINDOWFRAME = 6
  32. Private Const COLOR_MENUTEXT = 7
  33. Private Const COLOR_WINDOWTEXT = 8
  34. Private Const COLOR_CAPTIONTEXT = 9
  35. Private Const COLOR_ACTIVEBORDER = 10
  36. Private Const COLOR_INACTIVEBORDER = 11
  37. Private Const COLOR_APPWORKSPACE = 12
  38. Private Const COLOR_HIGHLIGHT = 13
  39. Private Const COLOR_HIGHLIGHTTEXT = 14
  40. Private Const COLOR_BTNFACE = 15
  41. Private Const COLOR_BTNSHADOW = 16
  42. Private Const COLOR_GRAYTEXT = 17
  43. Private Const COLOR_BTNTEXT = 18
  44. Private Const COLOR_INACTIVECAPTIONTEXT = 19
  45. Private Const COLOR_BTNHIGHLIGHT = 20
  46. Private Const COLOR_3DDKSHADOW = 21
  47. Private Const COLOR_3DFACE = COLOR_BTNFACE
  48. Private Const COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT
  49. Private Const COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT
  50. Private Const COLOR_3DLIGHT = 22
  51. Private Const COLOR_3DSHADOW = COLOR_BTNSHADOW
  52. Private Const COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT
  53. Private Const COLOR_DESKTOP = COLOR_BACKGROUND
  54. Private Const COLOR_INFOBK = 24
  55. Private Const COLOR_INFOTEXT = 23
  56.  
  57. Private Sub RaiseSysColorError(Optional errval)
  58.     If IsMissing(errval) Then
  59.         RaiseError DWERR_APIRESULT, "dwSysColor"
  60.     Else
  61.         RaiseError errval, "dwSysColor"
  62.     End If
  63. End Sub
  64.  
  65. Public Function GetSysColor(ByVal lpSysColor As Integer) As Long
  66. Attribute GetSysColor.VB_HelpID = 2982
  67.     GetSysColor = apiGetSysColor(lpSysColor)
  68. End Function
  69.  
  70. Public Sub SetSysColors(ByVal lpSysColor As Integer, ByVal lpColorValue As Long)
  71. Attribute SetSysColors.VB_HelpID = 2983
  72. Attribute SetSysColors.VB_Description = "Help available in Visual Basic Programmer's Guide to Win32 API CD ROM"
  73. #If Win32 Then
  74.     Dim newcolor As Long
  75.     Dim idx As Long
  76.     Dim res As Long
  77.     
  78.     idx = lpSysColor
  79.     newcolor = lpColorValue
  80.     res = apiSetSysColors(1, idx, newcolor)
  81.     If res& = 0 Then RaiseSysColorError DWERR_APIRESULT
  82. #Else
  83.     Dim newcolor As Long
  84.     Dim idx As Integer
  85.     
  86.     idx = lpSysColor
  87.     newcolor = lpColorValue
  88.     apiSetSysColors 1, idx, newcolor
  89. #End If
  90. End Sub
  91.  
  92. Public Property Get SCROLLBAR() As Long
  93.     SCROLLBAR = GetSysColor(COLOR_SCROLLBAR)
  94. End Property
  95.  
  96. Public Property Let SCROLLBAR(ByVal newcolor&)
  97.     Call SetSysColors(COLOR_SCROLLBAR, newcolor&)
  98. End Property
  99.  
  100. Public Property Get background() As Long
  101.     background = GetSysColor(COLOR_BACKGROUND)
  102. End Property
  103.  
  104. Public Property Let background(ByVal newcolor&)
  105.     Call SetSysColors(COLOR_BACKGROUND, newcolor&)
  106. End Property
  107.  
  108. Public Property Get ACTIVECAPTION() As Long
  109.     ACTIVECAPTION = GetSysColor(COLOR_ACTIVECAPTION)
  110. End Property
  111.  
  112. Public Property Let ACTIVECAPTION(ByVal newcolor&)
  113.     Call SetSysColors(COLOR_ACTIVECAPTION, newcolor&)
  114. End Property
  115.  
  116. Public Property Get INACTIVECAPTION() As Long
  117.     INACTIVECAPTION = GetSysColor(COLOR_INACTIVECAPTION)
  118. End Property
  119.  
  120. Public Property Let INACTIVECAPTION(ByVal newcolor&)
  121.     Call SetSysColors(COLOR_INACTIVECAPTION, newcolor&)
  122. End Property
  123.  
  124. Public Property Get MENU() As Long
  125.     MENU = GetSysColor(COLOR_MENU)
  126. End Property
  127.  
  128. Public Property Let MENU(ByVal newcolor&)
  129.     Call SetSysColors(COLOR_MENU, newcolor&)
  130. End Property
  131.  
  132. Public Property Get WINDOW() As Long
  133.     WINDOW = GetSysColor(COLOR_WINDOW)
  134. End Property
  135.  
  136. Public Property Let WINDOW(ByVal newcolor&)
  137.     Call SetSysColors(COLOR_WINDOW, newcolor&)
  138. End Property
  139.  
  140. Public Property Get WINDOWFRAME() As Long
  141.     WINDOWFRAME = GetSysColor(COLOR_WINDOWFRAME)
  142. End Property
  143.  
  144. Public Property Let WINDOWFRAME(ByVal newcolor&)
  145.     Call SetSysColors(COLOR_WINDOWFRAME, newcolor&)
  146. End Property
  147.  
  148. Public Property Get MENUTEXT() As Long
  149.     MENUTEXT = GetSysColor(COLOR_MENUTEXT)
  150. End Property
  151.  
  152. Public Property Let MENUTEXT(ByVal newcolor&)
  153.     Call SetSysColors(COLOR_MENUTEXT, newcolor&)
  154. End Property
  155.  
  156. Public Property Get WINDOWTEXT() As Long
  157.     WINDOWTEXT = GetSysColor(COLOR_WINDOWTEXT)
  158. End Property
  159.  
  160. Public Property Let WINDOWTEXT(ByVal newcolor&)
  161.     Call SetSysColors(COLOR_WINDOWTEXT, newcolor&)
  162. End Property
  163.  
  164. Public Property Get CAPTIONTEXT() As Long
  165.     CAPTIONTEXT = GetSysColor(COLOR_CAPTIONTEXT)
  166. End Property
  167.  
  168. Public Property Let CAPTIONTEXT(ByVal newcolor&)
  169.     Call SetSysColors(COLOR_CAPTIONTEXT, newcolor&)
  170. End Property
  171.  
  172. Public Property Get ACTIVEBORDER() As Long
  173.     ACTIVEBORDER = GetSysColor(COLOR_ACTIVEBORDER)
  174. End Property
  175.  
  176. Public Property Let ACTIVEBORDER(ByVal newcolor&)
  177.     Call SetSysColors(COLOR_ACTIVEBORDER, newcolor&)
  178. End Property
  179.  
  180. Public Property Get INACTIVEBORDER() As Long
  181.     INACTIVEBORDER = GetSysColor(COLOR_INACTIVEBORDER)
  182. End Property
  183.  
  184. Public Property Let INACTIVEBORDER(ByVal newcolor&)
  185.     Call SetSysColors(COLOR_INACTIVEBORDER, newcolor&)
  186. End Property
  187.  
  188. Public Property Get APPWORKSPACE() As Long
  189.     APPWORKSPACE = GetSysColor(COLOR_APPWORKSPACE)
  190. End Property
  191.  
  192. Public Property Let APPWORKSPACE(ByVal newcolor&)
  193.     Call SetSysColors(COLOR_APPWORKSPACE, newcolor&)
  194. End Property
  195.  
  196. Public Property Get HIGHLIGHT() As Long
  197.     HIGHLIGHT = GetSysColor(COLOR_HIGHLIGHT)
  198. End Property
  199.  
  200. Public Property Let HIGHLIGHT(ByVal newcolor&)
  201.     Call SetSysColors(COLOR_HIGHLIGHT, newcolor&)
  202. End Property
  203.  
  204. Public Property Get HIGHLIGHTTEXT() As Long
  205.     HIGHLIGHTTEXT = GetSysColor(COLOR_HIGHLIGHTTEXT)
  206. End Property
  207.  
  208. Public Property Let HIGHLIGHTTEXT(ByVal newcolor&)
  209.     Call SetSysColors(COLOR_HIGHLIGHTTEXT, newcolor&)
  210. End Property
  211.  
  212. Public Property Get BTNFACE() As Long
  213.     BTNFACE = GetSysColor(COLOR_BTNFACE)
  214. End Property
  215.  
  216. Public Property Let BTNFACE(ByVal newcolor&)
  217.     Call SetSysColors(COLOR_BTNFACE, newcolor&)
  218. End Property
  219.  
  220. Public Property Get BTNSHADOW() As Long
  221.     BTNSHADOW = GetSysColor(COLOR_BTNSHADOW)
  222. End Property
  223.  
  224. Public Property Let BTNSHADOW(ByVal newcolor&)
  225.     Call SetSysColors(COLOR_BTNSHADOW, newcolor&)
  226. End Property
  227.  
  228. Public Property Get GRAYTEXT() As Long
  229.     GRAYTEXT = GetSysColor(COLOR_GRAYTEXT)
  230. End Property
  231.  
  232. Public Property Let GRAYTEXT(ByVal newcolor&)
  233.     Call SetSysColors(COLOR_GRAYTEXT, newcolor&)
  234. End Property
  235.  
  236. Public Property Get BTNTEXT() As Long
  237.     BTNTEXT = GetSysColor(COLOR_BTNTEXT)
  238. End Property
  239.  
  240. Public Property Let BTNTEXT(ByVal newcolor&)
  241.     Call SetSysColors(COLOR_BTNTEXT, newcolor&)
  242. End Property
  243.  
  244. Public Property Get INACTIVECAPTIONTEXT() As Long
  245.     INACTIVECAPTIONTEXT = GetSysColor(COLOR_INACTIVECAPTIONTEXT)
  246. End Property
  247.  
  248. Public Property Let INACTIVECAPTIONTEXT(ByVal newcolor&)
  249.     Call SetSysColors(COLOR_INACTIVECAPTIONTEXT, newcolor&)
  250. End Property
  251.  
  252. Public Property Get BTNHIGHLIGHT() As Long
  253.     BTNHIGHLIGHT = GetSysColor(COLOR_BTNHIGHLIGHT)
  254. End Property
  255.  
  256. Public Property Let BTNHIGHLIGHT(ByVal newcolor&)
  257.     Call SetSysColors(COLOR_BTNHIGHLIGHT, newcolor&)
  258. End Property
  259.  
  260. Public Property Get DKSHADOW3D() As Long
  261. ' Note reversed function name (3D at end)
  262.     DKSHADOW3D = GetSysColor(COLOR_3DDKSHADOW)
  263. End Property
  264.  
  265. Public Property Let DKSHADOW3D(ByVal newcolor&)
  266.     Call SetSysColors(COLOR_3DDKSHADOW, newcolor&)
  267. End Property
  268.  
  269. Public Property Get DFACE3D() As Long
  270.     DFACE3D = GetSysColor(COLOR_3DFACE)
  271. End Property
  272.  
  273. Public Property Let FACE3D(ByVal newcolor&)
  274.     Call SetSysColors(COLOR_3DFACE, newcolor&)
  275. End Property
  276.  
  277. Public Property Get HIGHLIGHT3D() As Long
  278.     HIGHLIGHT3D = GetSysColor(COLOR_3DHIGHLIGHT)
  279. End Property
  280.  
  281. Public Property Let HIGHLIGHT3D(ByVal newcolor&)
  282.     Call SetSysColors(COLOR_3DHIGHLIGHT, newcolor&)
  283. End Property
  284.  
  285. Public Property Get HILIGHT3D() As Long
  286.     HILIGHT3D = GetSysColor(COLOR_3DHILIGHT)
  287. End Property
  288.  
  289. Public Property Let HILIGHT3D(ByVal newcolor&)
  290.     Call SetSysColors(COLOR_3DHILIGHT, newcolor&)
  291. End Property
  292.  
  293. Public Property Get LIGHT3D() As Long
  294.     LIGHT3D = GetSysColor(COLOR_3DLIGHT)
  295. End Property
  296.  
  297. Public Property Let LIGHT3D(ByVal newcolor&)
  298.     Call SetSysColors(COLOR_3DLIGHT, newcolor&)
  299. End Property
  300.  
  301. Public Property Get SHADOW3D() As Long
  302.     SHADOW3D = GetSysColor(COLOR_3DSHADOW)
  303. End Property
  304.  
  305. Public Property Let SHADOW3D(ByVal newcolor&)
  306.     Call SetSysColors(COLOR_3DSHADOW, newcolor&)
  307. End Property
  308.  
  309. Public Property Get BTNHILIGHT() As Long
  310.     BTNHILIGHT = GetSysColor(COLOR_BTNHILIGHT)
  311. End Property
  312.  
  313. Public Property Let BTNHILIGHT(ByVal newcolor&)
  314.     Call SetSysColors(COLOR_BTNHILIGHT, newcolor&)
  315. End Property
  316.  
  317. Public Property Get DESKTOP() As Long
  318.     DESKTOP = GetSysColor(COLOR_DESKTOP)
  319. End Property
  320.  
  321. Public Property Let DESKTOP(ByVal newcolor&)
  322.     Call SetSysColors(COLOR_DESKTOP, newcolor&)
  323. End Property
  324.  
  325. Public Property Get INFOBK() As Long
  326.     INFOBK = GetSysColor(COLOR_INFOBK)
  327. End Property
  328.  
  329. Public Property Let INFOBK(ByVal newcolor&)
  330.     Call SetSysColors(COLOR_INFOBK, newcolor&)
  331. End Property
  332.  
  333. Public Property Get INFOTEXT() As Long
  334.     INFOTEXT = GetSysColor(COLOR_INFOTEXT)
  335. End Property
  336.  
  337. Public Property Let INFOTEXT(ByVal newcolor&)
  338.     Call SetSysColors(COLOR_INFOTEXT, newcolor&)
  339. End Property
  340.  
  341.  
  342.