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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 14:02   #1
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию Вызов PopupMenu в ListView

Здравствуйте.

На форме моей проги имеется ListView в режиме таблицы (vsReport) с двумя колонками для отображения имен файлов и соответственно пути к ним.

С этим самым ListView требуется связать PopupMenu, с помощью которого можно будет открывать выделенный пользователем файл или папку, в которой он лежит (по записанному пути к файлу).

Необходимо вызывать PopupMenu при щелчке правой кнопкой мыши на ListView при условии, что имеется элемент, выделенный и имеющий фокус, и щелчок этой самой правой кнопкой мыши произошел в области ListView, занятой элементами.
Проще говоря, если пользователь щелкнул ПКМ на свободной области ListView (которая может образоваться при неполном заполнении ListView, т.е. ниже последнего элемента, либо справа), то меню не должно появляться.

Пока использовал ListView.OnMouseUp:
Цитата:
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (button=mbRight) and assigned(ListView1.ItemFocused) then
if ListView1.ItemFocused.Selected then
popupmenu1.Popup(X,Y); //координаты пока не принципиальны
end;

Меню не появляется в свободной области ListView (это хорошо), но на заполненной элементами облати появляется только после двойного ПКМ (это нехорошо).
Других способов пока не нашел...

З.Ы. Блин, перепутал раздел, думал в "Общие вопросы Delphi" пишу ...
Да простят меня модераторы...
Программирую по необходимости

Последний раз редактировалось tsar_; 19.01.2012 в 14:13.
tsar_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить элемент ListView в другой ListView? Paul Hindenburg Компоненты Delphi 5 26.01.2013 11:35
Вызов системного меню файла в ListView t2skler Общие вопросы Delphi 15 10.02.2011 23:19
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. Casper-SC WPF, UWP, WinRT, XAML 2 12.08.2010 19:04
Вызов PopupMenu левой кнопкной artemavd Общие вопросы Delphi 1 20.07.2010 21:36
Вызов PopupMenu Vladya Помощь студентам 10 31.08.2009 00:39