|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
PopupMenu динамический
Как создать динамический PopupMenu? Значения надо брать из MS Access.
|
#2
|
||||
|
||||
Так же, как и любой другой. По динамическому созданию компонентов тысячи статей на этом форуме и на DelphiSources.ru, в гугле и в яндексе.
jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Как создавать я знаю, но вот как брать значения из БД никак найти не могу((. Писал вот так:
Код:
var mi, msub: TmenuItem; begin with (Sender as TPopupMenu) do begin // Удаляем все пункты меню // while Items.Count > 0 do Items.delete(0); while Items.Count > 0 do Items[0].Free; // Создаем обычный пункт "Первый" mi := TMenuItem.Create(self); with mi do begin Caption := 'Предмет'; msub := TMenuItem.Create(self); with Form2.ADOTable1 do begin First; while not EOF do begin with msub do begin Caption := ADOTable1РПП.AsString; end; end; end; Не получается, просто создает один пункт и всё. Подскажите если не трудно. Заранее спосибо. Последний раз редактировалось Admin, 29.02.2012 в 09:55. |
#4
|
||||
|
||||
Переход на слудующую запись забыли, да и элементы меню надо-бы новые создавать для каждой записи из таблицы. Примерно так получается:
Код:
with Form2.ADOTable1 do begin First; while not EOF do begin with TMenuItem.Create(self) do Caption := ADOTable1РПП.AsString; Next; end; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 29.02.2012 в 11:52. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Demlan (01.03.2012)
|
#5
|
|||
|
|||
Получилось примерно следующее:
Код:
procedure TForm1.PopupMenu3Popup(Sender: TObject); var m: TmenuItem; begin with (Sender as TPopupMenu) do begin // Удаляем все пункты меню while Items.Count > 0 do Items[0].Free; PopupMenu3.Items.Add(m); end; with Form2.ADOTable1 do begin First; //m:= TMenuItem.Create(nil); while not EOF do begin with TMenuItem.Create(self) do begin Caption := ADOTable1РПП.AsString; Next; end; end; end; end; |