IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> задача на изменение цвета фона
сообщение
Сообщение #1


Гость






Ув. программисты на дельфи, помогите пожалуйста с такой задачей:

1) Создать главное окно, содержащее меню вида: Input color, Change, Exit, при выборе Exit программа закрывается.
2) При выборе Input color открывается диалоговое окно, содержащее 3 поля типа Tedit, группу из 2-x кнопок TCheckBox в TGroupBox (кнопки left и right) и кноgre ок типа TBitBtn
В поля TEdit вводятся 3 ргб составляющие цвета. При выборе Change изменяется на заданный цвет фон главного окна (левая, правая или обе половины соответственно, в зависимости от выбора кнопок в диалоговом окне)

Так как я никогда не писал в дельфях, а задачу нужно срочно, то у меня возникла такая проблема:
Каким образом реализовывать изменение цвета? Насколько глупым будет создать две TPanel (соответственно, левую и правую) и красить в нужный цвет их?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






А почему бы и не поставить две пенли, только сделать это динамически.
Завести две глобальные переменные: panel,panel2:tpanel;
И написать такой код
procedure TForm1.FormCreate(Sender: TObject);
begin
panel:=tpanel.Create(owner);
panel.Color:=255;
panel.Width:=ClientWidth div 2;
panel.Parent:=form1;
panel.Align:=alleft;

panel2:=tpanel.Create(owner);
panel2.Color:=clGreen;
panel2.Parent:=form1;
panel2.Align:=alClient;
end;
Это, конечно только вариант, но я думаю, такой код будет пошустрее, чем каждые раз рисовать через МЕДЛЕННУЮ КАНВУ.
Думаю могут быть вопросы с преобразованием цвета. мой вариант:
red*1+green*256+blue*256*256;
panel2.Color:=200+200*256+200*256*256;получится темно-серая панель
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(Andrei_25 @ 24.06.2007 7:28) *

Ладно, убедили. Если использовать FillRect, то скорость тоже приличная и лишний раз мудрить не надо.

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 4:30
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name