Форум: "Основная";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];
ВнизМожно ли изменить значения цвета во время работы приложения. Найти похожие ветки
← →
Prohodil Mimo © (2007-10-19 17:46) [0]У формы выставлен Color = clBtnFace.
Если я в системе изменю цветовую гамму, то и окно изменит цвет.
А могу ли я внутри программы где-то указать, что все окна моего приложения должны быть например синие и во всей программе все окна стали синие? Или красные, не важно, в зависимости от того, что выберет пользователь.
Какую переменную при этом надо изменить и каким образом?
Не хочется перебирать все окна и элементы, проверяя кто какай цвет принимает в в зависимости от этого менять им цвета, да это и не правильно будет.
← →
Правильный_Вася (2007-10-19 17:53) [1]скин повесь
← →
Prohodil Mimo © (2007-10-19 18:25) [2]других вариантов нет?
← →
Плохиш © (2007-10-19 19:01) [3]
> Prohodil Mimo © (19.10.07 17:46)
> У формы выставлен Color = clBtnFace
Вот в этом месте и надо написать свой желаемый цвет, не уже ли логика полностью отсутствует вместе с желанием чего-то прочитать?
← →
Правильный_Вася (2007-10-19 19:11) [4]
> Плохиш © (19.10.07 19:01) [3]
все равно перебор всех форм и компонентов
← →
Prohodil Mimo © (2007-10-19 19:18) [5]Плохиш © (19.10.07 19:01) [3]
не умеешь читать - не лезь.
обосрать каждый может.
Правильный_Вася, а тебе спасибо.
← →
Игорь (2007-10-20 10:03) [6]
> Prohodil Mimo
Тебе же сказали написать свой желаемый цвет, напримерColor:= RGB(255, 123, 193);
← →
Antoxa2005 (2007-10-21 13:17) [7]Пробегись по приложению, выяви TForm, и меняй цвет (Cjkjh). Очень быстро и просто!!! Я так сохраняю и восстанавливаю размеры и позиции форм...
← →
Antoxa2005 (2007-10-21 13:17) [8]Не (Cjkjh), а Color...
← →
Prohodil Mimo © (2007-10-21 15:30) [9]Речь идёт не только об окнах, но так же и обо всех элементах.
Как пробежаться по всем формам приложения и по всем их элементам - я знаю. Как изменить цвет - тоже.
Проблема в другом:
Если у меня на форме у некоторых TEdit Color = ClBtnFace у некоторых TEdit Color = ClWindow у третьих ещё что-то. В первый раз я могу пройтись по элементам, определить каого цвета они должны быть и выставить нужный. Во второй раз уже не получится, т.к. все цвета уже переопределены.
Я думал, что может можно изменить константы цветов внутри приложения, например что ClWindow = синий, а ClBtnFace = розовый, а у самих элементов как было в цвете установлено, что это ClBtnFace или ClWindow так и осталось бы.
А так, как сейчас - пробегаешь по формам и элементам и определяешь, если это форма, даёшь ей один цвет, если эдит - другой, кнопкам - третий и т.д. Причём все элементы одного типа имеют одинаковый цвет.
← →
rts111 © (2007-10-23 07:25) [10]
> Prohodil Mimo © (21.10.07 15:30) [9]
...
if MyElement.Colr=ClBtnFace then MyElement.Color:=NewColor;
← →
Prohodil Mimo © (2007-10-23 12:08) [11]rts111 © (23.10.07 7:25) [10]
if MyElement.Colr=ClBtnFace then MyElement.Color:=NewColor;
> Prohodil Mimo © (21.10.07 15:30) [9]
Во второй раз уже не получится, т.к. все цвета уже переопределены.
← →
rts111 © (2007-10-23 12:45) [12]Может быть так:
1) Программно поменяй значения системных цветов в Registry.
2) Пошли сообщение всем окнам программы что системные цвета изменились.
3) И снова востанави в Registry значение системных цветов по умолчанию.
← →
Prohodil Mimo © (2007-10-23 14:16) [13]Ну уж нет.
Я лучше наследников напишу с дополнительным свойством цвета и по нему буду определять.
К тому же у меня и так нет стандартных компенент, все наследники.
Так навверное и сделаю.
← →
Amoeba © (2007-10-23 18:37) [14]Вместо clBtnFace сразу задай форме форме конкретный цвет. реальное значение clBtnFace (а также clWindow, etc.) просто определяется цветовой схемой и не является константой.
← →
Prohodil Mimo © (2007-10-23 21:22) [15]Amoeba © (23.10.07 18:37) [14]
да это я уже понял, порывшись в исходниках VCL.
Я хочу пользователю самому задавать цвет именно в программе.
Но проблему уже решил, т.к. все компоненты у меня наследники, даже формы, ни что не мешает мне добавить таблицу цветов и в компонентах добавить свойство с указанием на нужный элемент таблици.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c