![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
динамическое удаление и вставка в 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, []);