Перейти к содержанию
Fire Monkey от А до Я
  • 0

Правый клик ListBox


Dinkin

Вопрос

Рекомендуемые сообщения

  • 0
  • Модераторы

1) отвязать TpopupMenu от ListBox

2) в событии OnMouseDown показать TPopupMenu самому, зная координаты курсора

Ссылка на комментарий
  • 0

Спасибо, но отвязывать нельзя, так как мне TpopupMenu  является меню настроек для выделенного итема.

в ФМ возможно узнать  координаты курсора  относительно объекта над которым находится (я бы хотя бы по координаторам получил итем и его сделал бы активным)?

Изменено пользователем Dinkin
Ссылка на комментарий
  • 0
  • Модераторы

отвяжите TPopupMenu от TListBox

procedure TForm4.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
  X, Y: Single);
var
  aItem: TListBoxItem;
begin
  if Button = TMouseButton.mbRight then
  begin
    aItem := ListBox1.ItemByPoint(X, Y);
    if aItem = nil then
      exit;

    ListBox1.ItemIndex := aItem.Index;
    PopupMenu1.Popup(Screen.MousePos.X, Screen.MousePos.Y);
  end;
end;

 

Изменено пользователем ZuBy
обновил код
Ссылка на комментарий
  • 0
  • Модераторы
8 минут назад, Dinkin сказал:

Да спасибо!

Если в событие OnItemClick, то там достаточно этого


 ListBox1->ItemIndex = Item->Index;
 PopupMenu1->Popup(Screen->MousePos().X, Screen->MousePos().Y);

 

это сработает на обе кнопки

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...