Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.01.2010, 22:53   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Вопрос Изменить свойства динамически созданного объекта

Всем привет.

Вообщем такая проблема: у меня есть динамически созданные объекты к примеру Memo1 и Button2 и мне нужно менять свойства или того или этого, в зависимости от того что выбрано в ComboBox. Сложно объяснить, поэтому лучше смотрите на скрин:



Вообщем если в ComboBox выбрано Memo, то меняем свойства Memo, если Button, то св.-ва Button'а. Вся проблема в том, что таких динамически созданных объектов может быть очень много и это может быть не только кнопки и мемо. Поэтому такой код не подойдёт:

Код:
procedure TForm1.ButtonOkClick(Sender: TObject);
begin
  if ComboBox1.Text='Memo1' then  
  begin
    Memo1.Height:=Edit1.Text;
    Memo1.Width:=Edit2.Text;
  end;
  if ComboBox1.Text='Button1' then  
  begin
    Button1.Height:=Edit1.text;
    Button1.Width:=Edit2.Text;
  end;
end;
Нужно чтобы было как-то так:

Код:
"(ComboBox1.Text).Height:=Edit1.Text;"
Но естественно в кавычках, потому что такого не бывает
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума
Старый 16.01.2010, 22:56   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Код:
if (Sender is TComboBox) then
with (Sender as TComboBox) do ...
else
if (Sender is TMemo) then
with (Sender as TMemo) do ...
А остальное - в виде функции (процедуры).
Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
FindComponent
Это - естественно, в самом начале...
Что ж вы так торопитесь, ТС-у подумать не даете ?

Последний раз редактировалось mihali4; 16.01.2010 в 23:05.
mihali4 вне форума
Старый 16.01.2010, 23:00   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

FindComponent
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 16.01.2010, 23:15   #4
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Пепел Феникса, я уже думал насчёт FindComponent, но не додумался как им пользоваться:

Код:
Components.FindComponent(ComboBox1.Text). ???
mihali4, что значит TC? Тупой студент??
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 16.01.2010 в 23:25.
Marsel737 вне форума
Старый 16.01.2010, 23:28   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ТС=Топик Стартер, автор топика.

Код:
(FindComponent(ComboBox1.Text) as TControl).Width{или Height}
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 16.01.2010, 23:29   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

ТС - это ТопикСтартер, то есть вы.
По поводу FindComponent - набираем, жмем заветную F1 и читаем.
Здесь - не ликбез. Занимайтесь самообразованием...
Цитата:
Влюблен в Delphi
Форумчанин
Регистрация: 09.11.2009
Сообщений: 252
Стыдно "влюбленному в Дельфи" задавать такие вопросы...
mihali4 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция чтения из динамически созданного Edit Grandistok Общие вопросы Delphi 11 10.01.2010 23:13
Как отловить Events динамически созданного компонента? W0LF Общие вопросы Delphi 2 06.11.2009 20:35
Как создать обработчик событий для динамически созданного объекта Лукманов Александр Общие вопросы Delphi 1 22.03.2009 22:05
Поиск динамически созданного компонента GAGARIN-NEW Общие вопросы Delphi 2 30.01.2008 17:21
Поиск динамически созданного компонента GAGARIN-NEW Компоненты Delphi 2 16.12.2007 17:07