Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

динамическое удаление и вставка в TMenu [Delphi, Windows]


kosend ©   (2004-07-28 15:20:00) 

как-то не совсем получается у меня работа с PopupMenu
задача следующая
имеется PopupMenu. два item'а у него присутствую постоянно. и должны быть последними. еще несколько пунктов в процессе работы добавляются и удалюятся динамически. добавляться они должны в начало меню, если так можно выразиться. процедура обновления меню у меня выглядит следующим образом
-----------------------------
 i := 0;
 while not pmMain.Items[i].IsSeparator do
 begin
   pmMain.RemoveSubMenu(i);
   Inc(i);
 end;

 FillList;

 if List.Count > 0 then
 begin
   for i := 0 to List.Count - 1 do
   begin
     pmMain.Insert(i+1, PAnsiChar(DrivesList.Items[i]), nil, []);
   end;
 end;
--------------------------------------------------------
после первого вызова - все нормально. следующий вызов этой процедуры добавляет пункты меню из List не в начало, а в конец меню. никак не могу разобраться почему.


Gandalf   (2004-08-17 22:36:00) [1]

Странный метод, Insert вставляет элемент в позицию за номеров i+1, попробуй просто

pmMain.Insert(0, PAnsiChar(DrivesList.Items[i]), nil, []);


Наверх

Титульная страница Поиск, карта сайта Написать письмо