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

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

Создать меню [D5, Win95/98]


MisterBin ©   (2002-04-30 07:58:00) 

Как мне сделать всплывающее меню при клике на кнопку. Как у Winamp"a. И чтобы в пунктах меню были названия папок, например из дирректории C:\Program Files?


gek   (2002-04-30 08:15:00) [1]


procedure TForm_our.ToolButn_ourClick(Sender: TObject);
var
T:TPoint;
begin
t.x:=ToolButton10.Left - 2;
t.y:=RxDBGrid1.Top;
t:=ClientToScreen(t);
PopupMenu1.Popup(t.X, t.Y);
end;

AutoPopUp установить в false


Alx2   (2002-04-30 08:15:00) [2]

"Вручную" показать меню - см. метод popup.
Также в это меню можно вручную добавить пункты.
Вот пример "ручного" создания меню, который добавляет в контекстное меню пункты, название каждого из которых совпадает с названием соотв. столбца компонента RxDBGrid1 и которые отмечены, если этот столбец видимый. при выборе пункта меню срабатывает метод ColumnPopupMenuItemClick

For K := 0 To RxDBGrid1.Columns.Count - 1 Do
Begin
mi := TMenuItem.Create(Self);
mi.CAPTION := RxDBGrid1.Columns[K].Field.DisplayLabel;
mi.checked := RxDBGrid1.Columns[K].Visible;
mi.Tag := K;
mi.OnClick := ColumnPopupMenuItemClick;
ColumnPopupMenu.Items.Add(mi); // Добавляем созданный пункт.
End;

Как получить смписок папок - см. FAQ


Наверх

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