Задание цветов для раскраски выводимой информации
Автор Administrator   
10.08.2020 г.

 Выбор цвета с использованием системной службы и просмотр выбранных цветов в ленточной форме

 

Недавно я столкнулся с интересной задачей. Заказчик хотел выгружать в 

Excel план/табель работы сотрудников раскрашенный в зависимости от того, чем они были заняты в данный день: работа в офисе, выезд на объект, командировка, отпуск, отгул, больничный и т.п. Причем заказчик сам желал задавать цвета и надо было предусмотреть возможность добавления новых значений.
Заказчик хотел, чтобы для задания цветов использовалась ленточная форма. Для наглядности.
Здесь возникли 2 задачи.
1. Вызов системной службы задания цветов. (Зачем писать свою, если есть уже разработанная?)
2. Вывод выбранных цветов в ленточной форме.(в одиночной форме раскрасить какой-либо элемент выбранным цветом проблем не составляет, но вот в ленточной... Красятся все объекты во всех записях. Необходимо, чтобы этот элемент входил в рекордсет.)


По первому вопросу мне помог коллега ROI с сайта SQL.RU

Private Declare Function wlib_AccChooseColor Lib "msaccess.exe" Alias "#53" _

(ByVal hwnd As Long, rgb As Long) As Long

Public Function roi_ChooseColor(Optional vInitRGB As Long) As Long

     Dim i As Long

 On Error GoTo HandleError

     i = vInitRGB

     Call wlib_AccChooseColor(0, i)

     roi_ChooseColor = i

   ExitProc:

     Exit Function HandleError:

     MsgBox vbCrLf & Err.Description & _

             vbCrLf & vbCrLf & Имя процедуры = roi_ChooseColor", _


             vbCritical, "Ошибка " & Err.Number


     Resume ExitProc

End Function

А для второй задачи я воспользовался примером Бенедикта (JPGInContForm1x12K) с того же сайта.

И вот что получилось в результате.

P.S. Пример работает в 32-х разрядной версии. Для 64-х я его не адаптировал.

 

 

Задание цвета в ленточной форме

 

 

 

Пример в формате Access 2000

 

 Download now

 

Пример Бенедикта

 

 Download now


Просмотров: 193

  Ваш коментарий будет первым

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code