Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2011, 13:13
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию Динамически создавать пункты в подменю TPopupMenu

Добреньгого всем времени суток!

Собственно вопрос:
Есть TPopupMenu в котром создано SubMenu.

В этом суб-меню нужно динамически/создавать удалять пункт меню.
как это делается?

Вот я написал так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  MI:TMenuItem;
begin
  MI:=TMenuItem.Create(PopupMenu1);
  Mi.Caption:=Edit1.Text;
  MI.ImageIndex:=0;
  PopupMenu1.Items.Add(MI);
end;

Но данный код выкает пункты с основное меню а не в мое субменю.

Прошу помощи!
Ответить с цитированием
  #2  
Старый 15.05.2011, 13:55
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Код:
var
  MI, N:TMenuItem;
begin
  MI:=TMenuItem.Create(PopupMenu1);
  N:=TMenuItem.Create(nil);
  Mi.Caption:='Меню';
  N.Caption:='Подменю';
  MI.Add(N); // -> добавляю подменю
  MI.ImageIndex:=0;
  PopupMenu1.Items.Add(MI);
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 15.05.2011, 14:01
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

а если подменю уже сущесвует?(Создано в disign-time). Програмно требудется туда впихивать пункты меню.

хм присвоил пункту меню tag:=5 и сделал так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  MI:TMenuItem;
  i:Integer;
begin
  MI:=TMenuItem.Create(PopupMenu1);
  Mi.Caption:=Edit1.Text;
  MI.ImageIndex:=0;

  for i:=0 to PopupMenu1.Items.Count -1 do
  begin
    if (PopupMenu1.Items[i].Tag = 5) then
    begin
    PopupMenu1.Items[i].Add(MI);
    end;
  end;
end;

Последний раз редактировалось Человек_Борща, 15.05.2011 в 14:19.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025