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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 17:21   #1
k1r1ch
ACM!
Форумчанин
 
Аватар для k1r1ch
 
Регистрация: 19.06.2009
Сообщений: 382
Вопрос Динамическое добавление в PopupMenu

Так я добавляю элементы подменю в раздел TPopupMenu SkinItem. Они копируют элементы из SkinList (это ComboBox):
Код:
var M: TMenuItem;

begin
for i := 0 to SkinList.Items.Count - 1 do
  begin
    M.Create(TrayPopupMenu);
    M.Caption := SkinList.Items[i];
    SkinItem.Add(M);
  end;
end;
Проблема вот в чем: как сделать у каждого элемента обработчик на клик, чтобы в ComboBox'е менялся итем индекс на нужный???
k1r1ch вне форума Ответить с цитированием
Старый 02.10.2009, 10:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтобы в ComboBox'е менялся итем индекс на нужный???
с потолка:
Код:
m.OnClick:=mclick;
mclick - процедура обработчик клика, сам создай ее
В ней:
Код:
var i:integer;s:string;
begin
 // Удаляем нежданчики горячих клавиш в заголовке меню-элемента
 s:=StringReplace(TMenuItem(sender).caption,'&','',[]);
 // Есть ли он в списке
 i:=SkinList.items.IndexOF(s);
 // Если есть активируем
 if i<>-1 then
  skinList.ItemIndex:=i;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое добавление файлов в программу Crivel Общие вопросы Delphi 1 02.02.2009 18:22
Динамическое добавление в страницу Dj_smart HTML и CSS 11 26.05.2008 22:28
PopupMenu TaTT DoGG Компоненты Delphi 13 23.05.2008 13:19
PopupMenu Михаил Юрьевич Общие вопросы Delphi 6 03.05.2008 18:46