Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 591
1

Работа с colorbox - добавление своей палитры цветов

06.05.2018, 12:52. Просмотров 3585. Ответов 7
Метки нет (Все метки)


Доброго времени суток!

Столкнулся с такой проблемой. Компонент ColorBox позволяет выбирать только стандартные, системные, плюс выборочные (custom) цвета. Как работать со свойтвом Style компонента я знаю, именно там и подключаются и отключаются палитры цветов. Проблема возникла такого плана, как создать свою палитру в ColorBox. Теперь подробнее: в работе необходимо работать с некоторым набором фиксированных цветов (т.е. значения RGB будут установлены точно), для этих целей логичнее всего использовать ColorBox. Все бы ничего, если бы этих цветов не было более 100. Можно конечно на OnCreate формы кинуть код который добавляет цвета, но это нормально когда их немного, а так получается в коде придется еще вносить больше 100 строк. Может есть какой-нибудь способ как-то оптимизировать добавление цветов в Colorbox?
Цвета добавлял так:
Delphi
1
colorbox1.AddItem('Темно красный', TObject(rgb(139,0,0)));
Все работает, все добавляет, цвета совпадают, но писать больше 100 строк кода, это же жуть что за код получиться, для одного компонента.

Спасибо заранее!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2018, 12:52
Ответы с готовыми решениями:

Некорректная работа палитры цветов фотошоп
Здравствуйте. У меня проблема с цветом в палитре цветов. Не могу задать нужный мне цвет. Целевой...

Манифест в VB6.exe нарушил работу палитры цветов в окне свойств
Подскажите как правильно врезать манифест в ресурсы VB6.exe. Пробовал добавить ресурс ...

сколько будет весить графический файл размером 1024x1024 пикселей, кодированный без сжатия с использованием палитры из 65536 цветов
вопрос, СРОЧНО!!! сколько будет весить графический файл размером 1024x1024 пикселей, кодированный...

Создание hBitMap со своей таблицей цветов
Здравствуйте. Мне нужно создать восьмибитный точечный рисунок (насколько я понял, не зависящий от...

7
Модератор
6739 / 4338 / 1864
Регистрация: 21.01.2014
Сообщений: 18,311
Записей в блоге: 3
06.05.2018, 12:56 2
А что, если использовать TColorDialog? Определяете самостоятельно любой цвет, какой захотите...
1
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 591
06.05.2018, 13:16  [ТС] 3
Это было бы возможно если бы не набор фиксированных цветов, т.е. чтобы запретить пользователю изменять цвет, а пользоваться уже готовыми, а в TColorDialog все равно придется вводить значения RGB руками.
0
2077 / 1232 / 435
Регистрация: 29.05.2013
Сообщений: 5,549
06.05.2018, 13:57 4
Ну где-то же вам все равно придется хранить ваш набор цветов? Лучше конечно его в ini-файл поместить и читать оттуда по надобности. Так и код не будет загроможден описанием и изменять набор можно вне приложения.
1
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 591
06.05.2018, 14:33  [ТС] 5
Цитата Сообщение от Пытливый Посмотреть сообщение
Лучше конечно его в ini-файл поместить
Есть варианты, примеры как сделать? Если можно пожалуйста!
0
Модератор
6739 / 4338 / 1864
Регистрация: 21.01.2014
Сообщений: 18,311
Записей в блоге: 3
06.05.2018, 14:56 6
Лучший ответ Сообщение было отмечено Ашотик2018 как решение

Решение

Цитата Сообщение от Ашотик2018 Посмотреть сообщение
Есть варианты, примеры как сделать?
Создаете файл такого примерно вида:
Оранжевый=$000080FF
Темно-красный=$0005108F
Светло-зеленый=$00ADFAB7
Темно-серый=$006F6F6F
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var L: TStringList;
    i: integer;
begin
 L := TStringList.Create;
 L.LoadFromFile('d:\tmp\clr.dat');
 for i := 0 to L.Count - 1 do
  Colorbox1.AddItem(L.Names[i], TObject(StrToInt(L.ValueFromIndex[i])));
 L.Free;
end;
1
Миниатюры
Работа с colorbox - добавление своей палитры цветов  
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 591
06.05.2018, 15:07  [ТС] 7
D1973 , Спасибо, от души!
0
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 591
06.05.2018, 15:48  [ТС] 8
Может кому-то пригодится в работе: clr.zip
В файле находится палитра, к коду указанному, в которую включено 1017 цветов в формате BGR (RGB в Delphi наоборот).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2018, 15:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Графическое изображение содержит в своей палитре 1024 цветов
Помогите пожалуйста Графическое изображение содержит в своей палитре 1024 цветов, при этом его...

Есть н цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов. Количество цветов и их названия вводит пользователь
Есть n цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов....

Добавление своей опции плагином
Подскажите как добавить какую либо опцию на эту страницу, к примеру, после описания. вот пример...

Добавление своей иконки Dev C++ (Что не так?)
#include<windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //îãîëîøåííÿ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.