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

> ВНИМАНИЕ!

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

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


Гость






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

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

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


Гость






Цитата
создать две TPanel (соответственно, левую и правую) и красить в нужный цвет их?
Можно, конечно, и так... А можно просто отрисовать на канве формы:
  var i: integer;
...
Form1.Canvas.Brush.Color := ... // нужный тебе цвет.
i := byte(RadioButton1.Checked) + 2 * byte(RadioButton2.Checked);
Form1.Canvas.FillRect(Rect((form1.Width div 2) * (i - 1), 0, (form1.Width div 2) * i, form1.Height));

где Radiobutton1 отвечает за левую часть формы, а RadioButton2 - за правую...

P.S.
А, у тебя должен быть CheckBox? Я почему-то прочитал RadioButton... Тогда вот так:

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
Form1.Canvas.Brush.Color := ... // Твой цвет ...
if CheckBox1.Checked then // Левая сторона
Form1.Canvas.FillRect(Rect(0, 0, form1.Width div 2, form1.Height));
if CheckBox2.Checked then // Правая сторона
Form1.Canvas.FillRect(Rect(Form1.Width div 2, 0, form1.Width, form1.Height));
end;


Сообщение отредактировано: volvo - 21.06.2007 21:33
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 19.07.2025 4:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"