Индивидуальный цвет недоступного контрола

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
ssnakess
новенький
Сообщения: 47
Зарегистрирован: 24.09.2011 23:08:55

Индивидуальный цвет недоступного контрола

Сообщение ssnakess »

Подскажите, как можно задать контролу, например TEdit, какой-то свой цвет заливки, если ему поставить свойство Enabled:=False;
Т.е. другой цвет заливки фона контрола, не стандартный бледно-серый, при его недоступности к редактированию.
Причем конкретного контрола, а не всех :)

Добавлено спустя 50 минут 3 секунды:
пока придумал такой финт ушами
покрасил Color своим цветом и повесил обработчик на получение фокуса

Код: Выделить всё

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  TEdit(Sender).Parent.SelectNext(TWinControl(Sender),true,true);
end; 
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Можно посадить lebel перед Edit или tbevel вокруг, edit в панель с полями посадить. И подсветить их уже. Будет нормально.

**На Хабре была статья, где человек доходчико описывал где видал программистов делающих "продвинутый" ГУЙ. Потому что в нем работать людям с проблемами зрения невозможно. Изменений от штатных настрое ОС должно быть минимум.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Sharfik писал(а): **На Хабре была статья, где человек доходчиво описывал где видал программистов делающих "продвинутый" ГУЙ. Потому что в нем работать людям с проблемами зрения невозможно. Изменений от штатных настрое ОС должно быть минимум.
По моему нужно просто делать настройку цветов и несколько цветовых схем созданных заранее ( включая "системную" схему создаваемую из настроек ОС ). И кстати не факт что если "Изменения от стандартных настроек будет минимальным" они реально совпадут с настройкой в ОС.
RRYTY
постоялец
Сообщения: 253
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

Alex2013 писал(а):По моему нужно просто делать настройку цветов и несколько цветовых схем созданных заранее
Правильнее будет брать все цвета из схемы ОС, предоставив пользователю выбирать целиком тему оформления. Если, конечно, нет цели довести пользователя до бешенства своими "гениальными" вырвиглазностями и "оптимальными" цветовыми решениями. Вкусы разработчика и пользователя совпадут, только если обоих поместить в вакуум. Либо обоих совместить физически.
Насчет "просто сделать настройку" - логика изменения/применения/сохранения элементарных настроек/параметров проекта shell2shell отточен уже до интуитивно-понятного уровня совершенства, вы имеете представление, что это такое. Так вот - с цветами все намного хуже. Можно принять к сведению, что какой-то функциональный параметр имеет при изменении какие-то особенности (хорошо, если это описано в документации). Но если каждый раз невольно моргаешь от какого-то ублюдочного цветосочетания (которое, конечно же, можено специальной пляской поменять к лучшему), то это приведет к решительным мерам в отношении ПО, заставляющим моргать.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

В принципе согласен... но есть нюансы :
1. ОС тоже делали разработчики, а не пользователи.
2. Далеко не все "стандартные значения цветов" в программе совпадают с "темой ОС" .
3. Сами стандартные и даже "пользовательские темы" охватывают далеко не все .
( В результате даже в настройках ОС ( причем при совершенно стандартных темах ) можно увидеть "белые на белом" хинты и тому подобные чудеса )
4 Большинство программ не имеющих настроек цветов, ни как, от текущей цветовой темы ОС не зависят и люди используют такие программы просто по принципу "ешь что дают".
Зы
В моем проекте shell2shell я вообще еще до цветов не добрался. ( Цветовое решение внешней рамки над веб интерфейсом и консолью и все прочие просто завязана на идею "малозаметности" и тамошние "50-ть оттенков серого" можно вообще заменить чуть размытой затененной и обесцвеченной прозаичностью потому что это что-то типа стандартной темы классического Дос-навигатора так сказать "ДОС-пехи для призрака" . То есть я сознательно чуть ухудшил читабельность информации неактуальной в рабочем режиме но зато добился эффекта "запустил и забыл" . )
.
RRYTY
постоялец
Сообщения: 253
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

Alex2013 писал(а):1. ОС тоже делали разработчики, а не пользователи.
Бета тестеры обеспечивают обратную связь. Из опыта создания графических приложений - интерфейс у программы, запущенной в эксплуатацию и используемой каждый день, отлаживается год. При чем тут ОС - вообще не понял.
Alex2013 писал(а):Большинство программ не имеющих настроек цветов, ни как, от текущей цветовой темы ОС не зависят


"Не зависят" !!! %-) Чуть на личности не перешел. :-(
Специально такого размера, чтобы заметно было! }:-)
sen_classic.png
sen_black.png
Alex2013 писал(а):и люди используют такие программы просто по принципу "ешь что дают".
Именно поэтому, учитывая приведенные скрины, и
RRYTY писал(а):Правильнее будет брать все цвета из схемы ОС, предоставив пользователю выбирать целиком тему оформления.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

1 Про "не зависимость" от темы. Я не конкретно про лазарус писал ( полно программ которые не как на смену темы не реагируют или реагируют криво (см скрин) ).
(Увы мне! Shell2Shell пока что в основном "не реагирует", а настройки чуть кривятся ( цвет шрифта стандартный, а фон окна изменён ) но это как я писал временно (как минимум я на это надеюсь бо нормальная настройка цветов и тем запланирована заранее ))
2 "Бета тестеры обеспечивают обратную связь." это хорошо и замечательно но как показывает практика ни один бета тестер не может влезть во все дыры и тем более в пользовательские настойки тем . (Плюс режим " высокой контрастности " вообще строго говоря говоря не стандартная тема, а нечто включаемое принудительно. Но кстати спасибо! Я про этот режим совсем забыл, а зря! Нужно будет в обязательном порядке проверять как будут смотреться программа при его включении, а то выйдет как-то так )

Изображение

Зы
Кстати, интересно можно ли как-то проверить включение режима " высокой контрастности " что-бы своевременно отключить все лишние "цветение сакуры" (нестандартные цвета в программе )?
Зы Зы
Вообщем, видимо хорошим тоном в любой программе будет наличие галки " стандартный интерфейс/цвета" на самом видном месте в настройках .
Что-то вроде этого.
Изображение

Добавлено спустя 1 час 11 минут 9 секунд:
RRYTY писал(а):Правильнее будет брать все цвета из схемы ОС, предоставив пользователю выбирать целиком тему оформления.
Это хорошее благое пожелание увы может очень легко разбиться при использовании любых нестандартных визуальных элементов ( например "фоновое поле" редактора и сетка грида ) и просто графики вроде иконок или разных полезных украшательств вроде вертикальной закладки "Свойства" в моем "редакторе форм и страниц".
RRYTY
постоялец
Сообщения: 253
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

Alex2013 писал(а):Это хорошее благое пожелание увы может очень легко разбиться при использовании любых нестандартных визуальных элементов ( например "фоновое поле" редактора и сетка грида ) и просто графики вроде иконок или разных полезных украшательств вроде вертикальной закладки "Свойства" в моем "редакторе форм и страниц".
Абсолютно верно! Отсюда вывод - любое (любое!) украшательство это злобное зло. Все влезания в цвета только для функционала, с оговорками и извенениями перед публикой.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Недавно прочитал на хабре отличный афоризм: "Плохой интерфейс - это как шутка, смысл которой надо объяснять".
sts
энтузиаст
Сообщения: 519
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

любой интерфейс приходится объяснять
если объяснять ненужно это значит объяснили ранее
эх помню как нортон коммандер объяснял
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

sts писал(а):любой интерфейс приходится объяснять
А как насчет такой штуки, как "интуитивно понятный интерфейс"? Нет, конечно, если человек до того вообще никаких интерфейсов в глаза не видал, то объяснять придется...
Ответить