Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать на что нажали 
:(
    Опции темы
Кощей
Дата 22.6.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



У меня динамически создаются несколько кнопок. Создаются по описанию из  инишника. Можно как нибудь узнать к примеру какая из кнопок была нажата и вызвыла эту процедуру?
PM MAIL   Вверх
THandle
  Дата 22.6.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Кощей, узнавай в OnClick через Sender. Можно через свойство Name, можно Tag каждой свой поставить. 

Что то типа:
Код


procedure TForm2.ButtonClick(Sender: TObject);
begin
  if Sender is TComponent then
    if (Sender as TComponent).Name = 'Button1' then
      ShowMessage('Нажата Button1');
end;


Вообще различных примеров на форуме навалом. smile
PM   Вверх
Кощей
Дата 22.6.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Прост не знал как в поиск забить, спасибо огромное
PM MAIL   Вверх
Кощей
Дата 22.6.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



А как выполнить действие над компонентом если его название имеется только в виде строки?
PM MAIL   Вверх
Данкинг
Дата 22.6.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Кощей @  22.6.2009,  20:04 Найти цитируемый пост)
А как выполнить действие над компонентом если его название имеется только в виде строки? 

1. Одна тема - один вопрос.
2. Не понял, чего ты хочешь. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Кощей
Дата 22.6.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



нужно поставить visible:= true для компонента....создается так же динамически, и имя его генерируется так же...но не хочется загонять в массив...

т.е.  к примеру 

Код

With TImage.Create(Self) do
  begin
    Name:= NameBtn;
    Parent:= Panel;
    Picture.LoadFromFile(AddressBtnFile);
    Top:= 0;
    Left:= LeftBtn;
    Height:= 32;
    Width:= 32;
    Proportional:= true;
    Visible:= false;
 end;
 


, и нужно  в одной процедуре показать эту картинку....
PM MAIL   Вверх
Rohoss
Дата 22.6.2009, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Надо перебирать все компоненты владельца, что то вроде такого
Код

var
  I: Integer;
begin
  for I := 0 to Self.ComponentCount - 1 do
  begin
    if (Self.Components[I].Name = 'MyComponent') then
    begin
     (Self.Components[I] as TWinControl).Visible = True;
    end;
  end;
end;



--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Кощей
Дата 22.6.2009, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



спс...чет тормознулся я...

тольке не Вин контрол а TControl

Это сообщение отредактировал(а) Кощей - 22.6.2009, 20:33
PM MAIL   Вверх
Keeper89
Дата 22.6.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(Кощей @  22.6.2009,  21:16 Найти цитируемый пост)
тольке не Вин контрол а TControl

Если известно, что за компонент, проще вообще TButton.



--------------------
PM MAIL WWW   Вверх
Кощей
Дата 23.6.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Ну да...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.