Имя пользователя:
Пароль:
 

Название темы: Delphi 7: PopUp menu
Показать сообщение отдельно
SlS


Сообщения: n/a

Профиль | Цитировать


Код: Выделить весь код
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
 
var
APoint: TPoint;
Index: integer;
 
begin
{Первый вопрос}
{как и в ответе № 2, только вместо mbRight, указываете mbLeft}
 
{Второй вопрос}
if Button = mbRight then
begin
APoint.X := X;
APoint.Y := Y;
Index := ListBox1.ItemAtPos(APoint, True);
//index- номер пункта
if index=-1 then
begin
//код,если клик не в пункт, а непонятно куда
end
else
Begin
//Е! Наконец то чайник смог тыкнуть в пункт
// Выделяем пункт
ListBox1.ItemIndex:=index;
// Отображаем для каждого своё меню - ответ на Третий вопрос
if ListBox1.ItemIndex=0 then PopupMenu1.Popup(ListBox1.Left+x+left,ListBox1.Top+y+top); //открыть Popup menu
if ListBox1.ItemIndex=1 then PopupMenu2.Popup(ListBox1.Left+x+left,ListBox1.Top+y+top);
if ListBox1.ItemIndex=2 then PopupMenu3.Popup(ListBox1.Left+x+left,ListBox1.Top+y+top);
{P.S. Стоит поиграться с координатами вывода меню для удобства интерфейса}
end;
end;
end;
Если что не так - поясните. Могу выслать так же пример - пишите в личку.

Последний раз редактировалось Savant, 15-10-2005 в 03:00.


Отправлено: 01:52, 15-10-2005 | #6

Название темы: Delphi 7: PopUp menu