我在全局代码中定义了setsyscolore:
Declare Function SetSysColors Lib "user32" Alias "SetSysColors" _
(ByVal nChanges As Integer,lpSysColor As Integer,lpColorValues As Integer) As Integer
在foxtable中定义了一窗口1,在窗口1中定义了一按钮botton1 在按钮的click事件中设置如下程序,取调用setsyscolors想改变有关窗口的颜色,就是没有反映,不知什么原因,请高手指点!!!!
Dim COLOR_WINDOW As Integer = 6
Dim SysColor(4) As Integer
Dim ColorValues(4) As Integer
Dim Ret As Integer
SysColor(0) = COLOR_WINDOW
ColorValues(0) = RGB(58, 158, 58) '深绿
Ret = SetSysColors(1, SysColor(0), ColorValues(0))
msgbox(ret)
预览该窗口,点击botton1窗口无任何变化。
Const COLOR_SCROLLBAR = 0 'The Scrollbar colour
Const COLOR_BACKGROUND = 1 'Colour of the background with no wallpaper
Const COLOR_ACTIVECAPTION = 2 'Caption of Active Window
Const COLOR_INACTIVECAPTION = 3 'Caption of Inactive window
Const COLOR_MENU = 4 'Menu
Const COLOR_WINDOW = 5 'Windows background
Const COLOR_WINDOWFRAME = 6 'Window frame
Const COLOR_MENUTEXT = 7 'Window Text
Const COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)
Const COLOR_CAPTIONTEXT = 9 'Text in window caption
Const COLOR_ACTIVEBORDER = 10 'Border of active window
Const COLOR_INACTIVEBORDER = 11 'Border of inactive window
Const COLOR_APPWORKSPACE = 12 'Background of MDI desktop
Const COLOR_HIGHLIGHT = 13 'Selected item background
Const COLOR_HIGHLIGHTTEXT = 14 'Selected menu item
Const COLOR_BTNFACE = 15 'Button
Const COLOR_BTNSHADOW = 16 '3D shading of button
Const COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.
Const COLOR_BTNTEXT = 18 'Button text
Const COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window
Const COLOR_BTNHIGHLIGHT = 20 '3D highlight of button
Const COLOR_2NDACTIVECAPTION = 27 'Win98 only: 2nd active window color
Const COLOR_2NDINACTIVECAPTION = 28 'Win98 only: 2nd inactive window color