Цветовые константы в Access 2007 - PullRequest
2 голосов
/ 05 января 2011

В листе свойств представления «Дизайн формы» MS Access 2007 представлены некоторые параметры цвета, для которых я не могу найти константы для использования их в коде, в частности «Text Dark», «Text Light», «Background Dark Header». "и" Заголовок фонового освещения ". Существуют ли заранее определенные константы для них? Я не вижу их в Обозревателе объектов или Справке. В противном случае, кто-нибудь знает их шестнадцатеричные значения RGB от руки?

Ответы [ 4 ]

4 голосов
/ 22 мая 2015

Это не очень хорошо задокументировано Microsoft, поэтому я добавлю поздний ответ всем, кто ищет в Google Access Color Constant "Background Light Header" .

Лучшая информация, которую я видел, - это ответ Криса Уорда «Цветовые константы системы доступа» на форуме MSDN AccessDev , опубликованный 1 января 2013 года.

Я переформатировал эту информацию в перечисление:

' Access system color constants, documented by Chris Ward on MSDN Forums, 01-Jan-2013
' https://social.msdn.microsoft.com/Forums/en-US/ccf8b3b7-fa6b-4d05-9883-44b3642e6688/color-themes-decimal-equivelant-documented?forum=accessdev

Public Enum SysColors
    acColor_Access_Theme_8 = -2147483600                    '   Access Theme 8
    acColor_Access_Theme_7 = -2147483601                    '   Access Theme 7
    acColor_Access_Theme_6 = -2147483602                    '   Access Theme 6
    acColor_Access_Theme_5 = -2147483603                    '   Access Theme 5
    acColor_Access_Theme_4 = -2147483604                    '   Access Theme 4
    acColor_Access_Theme_3 = -2147483605                    '   Access Theme 3
    acColor_Access_Theme_2 = -2147483606                    '   Access Theme 2
    acColor_Access_Theme_1 = -2147483607                    '   Access Theme 1
    acColor_Highlight = -2147483608                         '   Highlight
    acColor_Borders_Gridlines = -2147483609                 '   Borders/Gridlines
    acColor_Altenate_Row = -2147483610                      '   Altenate Row
    acColor_Background_Dark_Header = -2147483611            '   Background Dark Header
    acColor_Background_Light_Header = -2147483612           '   Background Light Header
    acColor_Background_Form = -2147483613                   '   Background Form
    acColor_Text_Description = -2147483614                  '   Text Description
    acColor_Text_Dark = -2147483615                         '   Text Dark
    acColor_Text_Light = -2147483616                        '   Text Light
    acColor_Text_Black = -2147483617                        '   Text Black
    acColor_System_Menu_Bar = -2147483618                   '   System Menu Bar
    acColor_System_Menu_Highlight = -2147483619             '   System Menu Highlight
    acColor_System_Gradient_Inactive_Caption = -2147483620  '   System Gradient Inactive Caption
    acColor_System_Gradient_Active_Caption = -2147483621    '   System Gradient Active Caption
    acColor_System_Static_Text = -2147483622                '   System Static Text
    acColor_System_Static = -2147483623                     '   System Static
    acColor_System_Tooltip_Background = -2147483624         '   System Tooltip Background
    acColor_System_Tooltip_Text = -2147483625               '   System Tooltip Text
    acColor_System_3D_Light = -2147483626                   '   System 3D Light
    acColor_System_3D_Shadow = -2147483627                  '   System 3D Shadow
    acColor_System_3D_Highlight = -2147483628               '   System 3D Highlight
    acColor_System_Inactive_Caption_Light = -2147483629     '   System Inactive Caption Light
    acColor_System_Button_Text = -2147483630                '   System Button Text
    acColor_System_Alternate_Row = -2147483631              '   System Alternate Row
    acColor_System_Button_Shadow = -2147483632              '   System Button Shadow
    acColor_System_Button_Face = -2147483633                '   System Button Face
    acColor_System_Highlight_Text = -2147483634             '   System Highlight Text
    acColor_System_Highlight = -2147483635                  '   System Highlight
    acColor_System_Application_Background = -2147483636     '   System Application Background
    acColor_System_Inactive_Border = -2147483637            '   System Inactive Border
    acColor_System_Active_Border = -2147483638              '   System Active Border
    acColor_System_Title_Bar_Text = -2147483639             '   System Title Bar Text
    acColor_System_Window_Text = -2147483640                '   System Window Text
    acColor_System_Menu_Text = -2147483641                  '   System Menu Text
    acColor_System_Window_Frame = -2147483642               '   System Window Frame
    acColor_System_Window = -2147483643                     '   System Window
    acColor_System_Menu_Background = -2147483644            '   System Menu Background
    acColor_System_Inactive_Title_Bar = -2147483645         '   System Inactive Title Bar
    acColor_System_Active_Title_Bar = -2147483646           '   System Active Title Bar
    acColor_System_Desktop = -2147483647                    '   System Desktop
    acColor_System_Scrollbar = -2147483648#                 '   System Scrollbar
End Enum

Обратите внимание, что это не числовые цвета RGB: они являются адресами системных констант или переменных, указывающих на определения цветов RGB , которые изменятся, если выбрана цветовая тема пользовательской системы или приложения .

Это на самом деле хорошая вещь, поскольку пользователям, которым требуются настройки доступности - наиболее распространенным примером является высокая контрастность, - не будут приписываться ваши жестко заданные спецификации цвета.

Вы можете спросить меня, как перечислить более светлые и темные оттенки - «Текст 1, светлее 50%» и т. Д., Но на самом деле они не являются числовыми константами: «светлее» и «темнее» части цветового дескриптора на самом деле это вызовы элементов управления .BackTint и .BackShade (для цветов фона) и свойства шрифта Font.TextColor.TintAndShade (для цветов переднего плана), и вы можете вызывать эти методы также из VBA.

Тем не менее, я рекомендую вам открыть страницу справки, когда вы ее кодируете, потому что методы для фонов и шрифтов работают немного по-другому, и это несоответствие поймает вас.

1 голос
/ 06 января 2011

Я нашел ответ, (вроде) трудный путь.У меня уже есть формы с цветами, которые я хочу настроить во время разработки, поэтому я устанавливал точки останова во время их загрузки и использовал 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 Editor и откройте код формы.Выберите элемент управления в раскрывающемся списке в верхней части окна «Свойства» и прочитайте оттуда BackColor (или любой другой) - в том же десятичном формате, который я использовал в приведенном выше коде, а не в имени, используемом в среде разработки Acces. Редактировать 3 Форма должна быть открыта в режиме конструктора или макета в основной среде доступа, чтобы это работало.

1 голос
/ 05 января 2011

Они могут исходить из системных настроек Windows и не соответствовать одному и тому же значению RGB на каждом компьютере.

Найдя это

Вы также можете увидеть в свойстве Back Color (или, в этом отношении, любое свойство цвета) список из 20 дополнительных опций. К ним относятся: альтернативная строка, фоновая форма, фоновый заголовок, фоновый темный заголовок, границы / сетки, черный текст, текстовое описание, текстовый свет, темный текст, выделение и тема доступа 1, тема доступа 2 и т. Д. Тема 10. Это оттенки цветовой схемы, выбранной вами в «Параметры доступа»: оттенки синего для темы «Синий» или «Серебро», оттенки серого и черного для темы «Черный» и с оттенком оранжевого во всех темах для выделения. 1006 *

здесь

Теперь я думаю, что это локально для Access. Это может быть то, что вы не можете сделать с одним значением RGB.

0 голосов
/ 26 июня 2016
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
...