Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 905

/ вопрос открыт /

Здравствуйте, эксперты!
Компонент MainMenu.
Необходимо получить индекс выбираемого подменю.

Плакош Алексей Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Плакош Алексей (статус: Посетитель)
Вопрос отправлен: 12 июня 2009, 20:38
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Паровоз

Здравствуйте, Плакош Алексей!
Запишите этот индекс в свойство Tag элемента TMenuItem, а в обработчике ItemClick вызывайте
no:=(Sender as TMenuItem).Tag;

Ответ отправил: Паровоз (статус: 10-ый класс)
Время отправки: 13 июня 2009, 10:39
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 26; последнее сообщение — 14 июня 2009, 16:00; участников в обсуждении: 3.

Страницы: [« Предыдущая] [1] [2]

Паровоз

Паровоз (статус: 10-ый класс), 14 июня 2009, 13:07 [#21]:

actn_all_add.Tag:=...(видимо i+1)
Плакош Алексей

Плакош Алексей (статус: Посетитель), 14 июня 2009, 13:47 [#22]:

Возвращает последнее присвоенное значение... А необходимо чтобы возвращал то, на которое мы кликаем...
Плакош Алексей

Плакош Алексей (статус: Посетитель), 14 июня 2009, 13:55 [#23]:

procedure TF1_Main.actn_all_childshow(Sender: TObject);
begin
With Tf_table_all.Create(self) do
begin
tb_ind := (Sender as TAction).Tag;
ShowMessage (IntToStr(tb_ind));
end;
end;
Вот код который я для этого использую.
Паровоз

Паровоз (статус: 10-ый класс), 14 июня 2009, 14:56 [#24]:

Так, стало быть у Вас одно TAction на всех сразу. Собственно говоря, теперь непонятно, зачем нужен тот объект из которого вызывается это TAction, так как теперь все эти объекты отождествляются с точки зрения действия. Если Вы хотите различать эти объекты, тогда TActionList не нужен, потому что теперь для определения объекта из которого вызвано действие нужно приложить искусственные усилия в обход действий TActionList.
Плакош Алексей

Плакош Алексей (статус: Посетитель), 14 июня 2009, 14:57 [#25]:

Как именно это сделать?
Паровоз

Паровоз (статус: 10-ый класс), 14 июня 2009, 16:00 [#26]:

Что сделать? Различать объекты?
Может спроектировать приложение по-другому. Если Вы хотите в TAction различать объекты, то наверно это означает, что действия для этих объектов должны быть различны и, возможно, нужно назначить несколько TAction (а общую часть этих действий вынести в отдельную процедуру)?

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 21 апреля 2026, 14:54
Выполнено за 0.03 сек.