Здравствуйте, не знаю как можно получить индекс у динамически созданного подпункта в MainMenu.
Код:
begin
for i := 0 to ComboBox1.Items.Count - 1 do
begin
NewItem := TMenuItem.Create(Self);
NewItem.Caption := ComboBox1.Items[i];
MainMenu1.Items[0].Items[0].Add(NewItem);
NewItem.onClick:=NclickM;
end;
end;
Создавал так подпункты.
Возникла необходимость брать капчи у этих подпунктов но не знаю как определить индекс компонента на котором клик был.
Код:
procedure TForm1.NClickM(Sender: TObject);
begin
showmessage(MainMenu1.Items[0].Items[0].Items[i].Caption);
end;
Вот какие действия необходимо проделать, чтобы получить индекс я не знаю.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)
Кто плюсует популярность, подписывайтесь пожалуйста)
Последний раз редактировалось NebesaBag; 06.07.2013 в 23:47.
begin
for i := 0 to ComboBox1.Items.Count - 1 do
begin
NewItem := TMenuItem.Create(Self);
NewItem.Caption := ComboBox1.Items[i];
MainMenu1.Items[0].Items[0].Add(NewItem);
NewItem.Tag := i;
NewItem.onClick:=NclickM;
end;
end;
и так выводить:
Код:
procedure TForm1.NClickM(Sender: TObject);
begin
ShowMessage(IntToStr((Sender as TMenuItem).Tag));
end;
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
showmessage
(MainMenu1.Items[0].Items[0].Items[(Sender as TMenuItem).Tag].Caption);
Подскажите почему при выводе текста нужного подменю подчеркивается снизу буква которая по счету равна индексу этого подменю?
Вот примерно если так идёт: Текст
Текст
Текст
...
Добавлено через 1 час 49 минут
Что-то сразу не додумался, проблема была не велика и вполне решаема стринг реплэйсом)
Код:
procedure TForm1.NClickM(Sender: TObject);
var before,after:string;
begin
before:=MainMenu1.Items[0].Items[0].Items[(Sender as TMenuItem).Tag].Caption;
after:=StringReplace(before, '&', '',[rfReplaceAll, rfIgnoreCase]);
end;
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)
Кто плюсует популярность, подписывайтесь пожалуйста)
Последний раз редактировалось NebesaBag; 07.07.2013 в 06:07.
Причина: Добавлено сообщение