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

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

Всплывающее меню в ListBox [D5, Win95/98]


VJar ©   (2002-06-10 10:20:00) 

Как привязать всплывающее меню не ко всему ListBox,
а только к строкам, которые присутствуют???
(т.е. при клике на непустые строки)


Guerrillero Che   (2002-06-10 20:51:00) [1]

Соотвественно,если хочешь привязать к нескольким строчка, измени условие проверки


Guerrillero Che   (2002-06-10 20:48:00) [2]

Обрабатывай событие листбокса OnMouseDown
Вот тебе небольшой примерчик:

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i:integer; p:tpoint;
begin
if Button=mbRight then
begin
i:=ListBox1.ItemAtPos(Point(x,y),true);
if i<>3 then exit;
p:=ClientToScreen(Point(x+ListBox1.Left,y+ListBox1.Top));
PopupMenu1.Popup(p.X,p.y);
end;
end;
Здесь показывается popupmenu1 при клике на четвертой строчке.


VJar   (2002-06-10 18:59:00) [3]

А можно поконкретней


Kaban   (2002-06-10 10:21:00) [4]

Вручную обрабатывать правый клик и показывать всплывающее меню


Наверх

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