|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2017, 14:27 | #1 |
Регистрация: 05.07.2017
Сообщений: 4
|
Открыть окно выбора цвета, чтобы получить цвет и его название
Названия цветов определяются только с эстетической целью.
Хочу показать-поделиться. Может быть, кому-то пригодится вариант решения. Макрос см. на диске Yandex: http://yadi.sk/d/efel4tND3NXFbH (файл с макросом – около 1 Мб – больше разрешённого для загрузки на форум, даже если максимально сжать архиватором) Для работы с системными цветами (GetSysColor) макрос использует библиотеку %systemroot%\system32\user32.dll Названия цветов взяты для примера с двух тематических сайтов, поэтому корректность этих названий здесь не обсуждается. Название выбранного пользователем цвета определяется названием ближайшего цвета, которое записано в соответствующий массив. Для этого используется формула аналитической геометрии для вычисления расстояния между двумя точками (представляющими цвета) в трёхмерной прямоугольной системе координат Декартова пространства. В качестве осей координат выступают составляющие компоненты цвета: красный (red), зелёный (green) и синий (blue). Производится обработка и значений системных цветов Windows. Я не стал делать массив названий цветов доступным для пользователя (например, в виде txt-файла), т.к. это значительно усложнило бы код макроса, ведь надо было бы не только прочитать данные из txt-файла, но и проверить их корректность. Для моего проекта в этом нет необходимости. В программировании я – любитель-самоучка, поэтому понимаю, что мой алгоритм может требовать оптимизации. Представленный проект разрабатывался в Excel 2003 на Windows 7x32 и немного тестировался под более новыми версиями Excel и Windows. Представленный алгоритм был использован мною в макросе, создающем в Excel иерархический список всех каталогов и файлов, как в проводнике Windows: http://yadi.sk/d/M6-sV68v3K7ie3 programmersforum.ru/showthread.php?t=310592 С уважением, Георгий Данилов |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу, которая в зависимости от порядкового номера цвета в спектре (1,2 ... 7) выводит его название (красный, оранжев | Peter2 | Помощь студентам | 0 | 16.02.2016 17:58 |
Задача по delphi: изменять цвет формы и чтобы при снятии флажка с checkbox1 цвет формы был по умолчанию | Luchfan12 | Помощь студентам | 8 | 13.03.2014 10:14 |
как вызвать форму выбора цвета в Qt4 | datgen | Помощь студентам | 1 | 13.01.2013 22:38 |
Получить дескриптор окна для выбора цвета | Тоба | Win Api | 10 | 21.08.2011 13:19 |
возможность выбора цвета stringgrid | SVA90 | Компоненты Delphi | 1 | 15.05.2010 09:44 |