![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
cinic |
![]()
Сообщение
#1
|
Гость ![]() |
Ув. программисты на дельфи, помогите пожалуйста с такой задачей:
1) Создать главное окно, содержащее меню вида: Input color, Change, Exit, при выборе Exit программа закрывается. 2) При выборе Input color открывается диалоговое окно, содержащее 3 поля типа Tedit, группу из 2-x кнопок TCheckBox в TGroupBox (кнопки left и right) и кноgre ок типа TBitBtn В поля TEdit вводятся 3 ргб составляющие цвета. При выборе Change изменяется на заданный цвет фон главного окна (левая, правая или обе половины соответственно, в зависимости от выбора кнопок в диалоговом окне) Так как я никогда не писал в дельфях, а задачу нужно срочно, то у меня возникла такая проблема: Каким образом реализовывать изменение цвета? Насколько глупым будет создать две TPanel (соответственно, левую и правую) и красить в нужный цвет их? |
![]() ![]() |
Andrei_25 |
![]()
Сообщение
#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;получится темно-серая панель |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 23:54 |