MS Access 2007表单设计视图属性表格显示了一些颜色选项,我似乎找不到常数以便在代码中使用它们。具体来说:Text Dark
、Text Light
、Background Dark Header
和Background Light Header
。
这些预定义的常数存在吗?我在对象浏览器或帮助中没有看到它们。如果没有,有谁知道它们的RGB十六进制值吗?
MS Access 2007表单设计视图属性表格显示了一些颜色选项,我似乎找不到常数以便在代码中使用它们。具体来说:Text Dark
、Text Light
、Background Dark Header
和Background Light Header
。
这些预定义的常数存在吗?我在对象浏览器或帮助中没有看到它们。如果没有,有谁知道它们的RGB十六进制值吗?
微软没有很好地记录这个,所以我会为所有通过谷歌搜索“Access Color Constant "Background Light Header"” 的人提供一个晚一点的答案。
我看到的最好的信息是Chris Ward在MSDN AccessDev论坛上回答“访问系统颜色常量”的答案, 发布于2013年1月1日。
我已将该信息重新格式化为枚举:
' 访问系统颜色常量,由Chris Ward于2013年1月1日在MSDN论坛上记录 ' https://social.msdn.microsoft.com/Forums/en-US/ccf8b3b7-fa6b-4d05-9883-44b3642e6688/color-themes-decimal-equivelant-documented?forum=accessdev
公共枚举类型SysColors
acColor_Access_Theme_8 = -2147483600 '访问主题8
acColor_Access_Theme_7 = -2147483601 '访问主题7
acColor_Access_Theme_6 = -2147483602 '访问主题6
acColor_Access_Theme_5 = -2147483603 '访问主题5
acColor_Access_Theme_4 = -2147483604 '访问主题4
acColor_Access_Theme_3 = -2147483605 '访问主题3
acColor_Access_Theme_2 = -2147483606 '访问主题2
acColor_Access_Theme_1 = -2147483607 '访问主题1
acColor_Highlight = -2147483608 '高亮显示
acColor_Borders_Gridlines = -2147483609 '边框/网格线
acColor_Altenate_Row = -2147483610 '交替行
acColor_Background_Dark_Header = -2147483611 '暗色标题背景
acColor_Background_Light_Header = -2147483612 '浅色标题背景
acColor_Background_Form = -2147483613 '表单背景
acColor_Text_Description = -2147483614 '文本描述
acColor_Text_Dark = -2147483615 '文本暗色
acColor_Text_Light = -2147483616 '文本浅色
acColor_Text_Black = -2147483617 '文本黑色
acColor_System_Menu_Bar = -2147483618 '系统菜单栏
acColor_System_Menu_Highlight = -2147483619 '系统菜单高亮
acColor_System_Gradient_Inactive_Caption = -2147483620 '系统渐变非活动标题
acColor_System_Gradient_Active_Caption = -2147483621 '系统渐变活动标题
acColor_System_Static_Text = -2147483622 '系统静态文本
acColor_System_Static = -2147483623 '系统静态
acColor_System_Tooltip_Background = -2147483624 '系统工具提示背景
acColor_System_Tooltip_Text = -2147483625 '系统工具提示文本
acColor_System_3D_Light = -2147483626 '系统3D亮色
acColor_System_3D_Shadow = -2147483627 '系统3D阴影
acColor_System_3D_Highlight = -2147483628 '系统3D高亮
acColor_System_Inactive_Caption_Light = -2147483629 '系统非活动标题亮色
acColor_System_Button_Text = -2147483630 '系统按钮文本
acColor_System_Alternate_Row = -2147483631 '系统交替行
acColor_System_Button_Shadow = -2147483632 '系统按钮阴影
acColor_System_Button_Face = -2147483633 '系统按钮面
acColor_System_Highlight_Text = -2147483634 '系统高亮文本
acColor_System_Highlight = -2147483635 '系统高亮
acColor_System_Application_Background = -2147483636 '系统应用程序背景
acColor_System_Inactive_Border = -2147483637 '系统非活动边框
.BackTint 和 .BackShade 方法的调用(用于背景颜色),以及字体的 Font.TextColor.TintAndShade 属性(用于前景颜色),您也可以从VBA中调用这些方法。
然而,我建议在编码时打开帮助页面,因为背景和字体的方法工作方式略有不同,并且不一致性会让您犯错。
Debug.Print
来查找它们的值。在我玩弄一下并确定哪个是哪个之后,我将编辑此答案并提供这些值。Public Sub SetHeader(frm As Form)
On Error GoTo Error_Handler
'Access-specific Theme colors
Const TextLight As Long = -2147483616
Const TextDark As Long = -2147483615
Const BackLight As Long = -2147483612
Const BackDark As Long = -2147483611
With frm
If gblnAuthorized Then
.FormHeader.BackColor = BackLight
!Auto_Title0.ForeColor = TextDark
Else
.FormHeader.BackColor = BackDark
!Auto_Title0.ForeColor = TextLight
End If
End With
Exit_Procedure:
Exit Sub
Error_Handler:
DisplayUnexpectedError Err.Number, Err.Description
Resume Exit_Procedure
Resume
End Sub
编辑2
偶然发现了一种更简单的方法来查找这些值。进入VB编辑器并打开表单代码。在属性窗口顶部的下拉菜单中选择控件,然后从那里读取BackColor(或其他内容) - 它与我在上面的代码中使用的十进制格式相同,而不是Acces设计环境中使用的名称。编辑3 此操作需要在Access主环境中以设计或布局视图打开表单才能正常工作。
它们可能来自Windows系统设置,而不在每台计算机上对应于相同的RGB值。
找到这个之后
您还可以在BackColor属性(或任何颜色属性)中看到20个其他选项的列表。这些包括交替行、背景表单、背景浅标题、背景深标题、边框/网格线、文本黑色、文本描述、文本浅色、文本深色、突出显示以及Access主题1、Access主题2等,最多达到Access主题10。这些都是您在Access选项中选择的颜色方案的阴影-蓝色或银色主题的蓝色阴影,黑色主题的灰色和黑色阴影,以及所有主题中带有橙色阴影的突出显示。
我现在认为它是局限于Access的。 这可能是您无法使用单个RGB值完成的事情。
VBA Constant Description
vbScrollBars Scrollbar color
vbDesktop Desktop color
vbActiveTitleBar Color of the title bar for the active window
vbInactiveTitleBar Color of the title bar for the inactive window
vbMenuBar Menu background color
vbWindowBackground Window background color
vbWindowFrame Window frame color
vbMenuText Color of text on menus
vbWindowText Color of text in windows
vbTitleBarText Color of text in caption, size box, and scroll arrow
vbActiveBorder Border color of active window
vbInactiveBorder Border color of inactive window
vbApplicationWorkspace Background color of multiple document interface applications
vbHighlight Background color of items selected in a control
vbHighlightText Text color of items selected in a control
vbButtonFace Color of shading on the face of command buttons
vbButtonShadow Color of shading on the edge of command buttons
vbGrayText Grayed (disabled) text
vbButtonText Text color on push buttons
vbInactiveCaptionText Color of text in an inactive caption
vb3DHighlight Highlight color for 3-D display elements
vb3DDKShadow Darkest shadow color for 3-D display elements
vb3DLight Second lightest 3-D color after vb3DHighlight
vbInfoText Color of text in ToolTips
vbInfoBackground Background color of ToolTips