Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

Можно ли изменить значения цвета во время работы приложения.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
2-1198598547
Ega23
2007-12-25 19:02
2008.01.27
Определить документ MSOffice


2-1197306145
Irish_34
2007-12-10 20:02
2008.01.27
UDF


2-1199317113
Pesad
2008-01-03 02:38
2008.01.27
Пропорциональный вывод изображения на екран


15-1198163457
oldman
2007-12-20 18:10
2008.01.27
Разве так нельзя создавать образ диска?


2-1198874994
Efir
2007-12-28 23:49
2008.01.27
DoubleClick в OpenDialog