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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2009, 17:20   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию Копирование пунктов меню

Всем привет!
Дело такое.
В run time формируется менюшка. После чего надо перенести все её пункты в 2 других меню.

Код:
var
item: tMenuItem;
begin
   ...
   menu1.Items.Add(item);
   menu2.Items.Add(item);
   menu3.Items.Add(item);
end;
Altera вне форума Ответить с цитированием
Старый 27.07.2009, 20:53   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

А Assign пробовали?
psycho-coder вне форума Ответить с цитированием
Старый 28.07.2009, 06:09   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
А Assign пробовали?
Пробовали. И тоже ошибку выдаёт.
Altera вне форума Ответить с цитированием
Старый 28.07.2009, 07:18   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

И будет выдавать. Дело в том, что метод Insert у TPopupMenu проверяет родителя итема на nil. И в случае неравенства его таковому генерирует ошибку. Вот так это выглядит:
Код:
  if Item.FParent <> nil then 
    Error({$IFNDEF CLR}@{$ENDIF}SMenuReinserted);
Не проще ли просто для каждого меню создавать свои итемы и присваивать им необходимые заголовки и обработчики кликов?
Баламут вне форума Ответить с цитированием
Старый 28.07.2009, 07:45   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Баламут Посмотреть сообщение
И будет выдавать. Дело в том, что метод Insert у TPopupMenu проверяет родителя итема на nil. И в случае неравенства его таковому генерирует ошибку. Вот так это выглядит:
Код:
  if Item.FParent <> nil then 
    Error({$IFNDEF CLR}@{$ENDIF}SMenuReinserted);
Не проще ли просто для каждого меню создавать свои итемы и присваивать им необходимые заголовки и обработчики кликов?
Да, наверное так и придётся сделать. Я просто думал, что есть способ по красивее
Altera вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для доступа к пунктам главного меню клавиши ALT + подчеркнутая буква меню в офис 2007? Окоча Юра Microsoft Office Word 1 24.02.2009 12:29
Меню с Items в виде набора Bitmap (как меню редактирования в Word'е) chandrasecar Мультимедиа в Delphi 7 14.01.2009 09:20
Разработать вертикальное меню из нескольких пунктов Тарон Паскаль, Turbo Pascal, PascalABC.NET 1 20.02.2008 18:56
combobox разделитель пунктов Shawn Компоненты Delphi 4 18.08.2007 22:46
Чтение пунктов TreeView из текстового файла DEVDITS Компоненты Delphi 2 20.05.2007 21:49