| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Показывание PoupMenu над ListBox |
| Автор: MaXL 29.5.2007, 16:07 | ||
| Всем привет. Есть PopupMenu. есть ListBox в котором есть записи. Количество записей переменное. Мне нужно сделать так, чтобы при целканье правой кнопкой мышки над ListBox`ом показывался этот самый PopupMenu. Вариант просто указать в качестве свойства PopupMenu у ListBox не катит. Т.к. при щёлканьи мне нужно выделить запись в ListBox. Так вот я делают это так(по событию MouseUp у ListBox):
Всё работает, но возникает проблема, когда количество записей больше чем Высота у ListBox'а(.т.к юзер прокрутил вниз и там жмёт) то получается что, выделятся не та строчка, т.к. юзер прокрутил, а координаты не изменились. Так вот, кто поможет? |
| Автор: Yanis 29.5.2007, 16:43 | ||
| MaXL Что то ты придумал прикольное такое, но лучше воспользуйся стандартным методом:
|
| Автор: MaXL 29.5.2007, 17:06 | ||
| Yanis, спасибо всё работает. А я там мудрил..а оказывается всё так просто=) Вот если кому пригодиться получившийся код:
Вопрос решён! |
| Автор: dumb 30.5.2007, 12:22 |
еще одна наводка: ClientToScreen |
| Автор: Sunvas 30.5.2007, 15:28 |
| А может без мазохизма ребята? Функция getcursorpos решит все проблеммы! |
| Автор: MaXL 30.5.2007, 15:50 |
| Sunvas, что даст функция getCursorPos?=) Нехочу щас проверять, но она помойму даёт TPoint, в которой будут координаты позиции курсора..и что дальше? у меня и так эти координаты есть, они передаются в процедуру..X и Y. Или ты говорил про что-то другое? dumb, спасибо за наводку=) |
| Автор: dumb 31.5.2007, 00:33 | ||
правильный и практичный функций упомянут аккурат перед твоим первым постом. |
| Автор: Sunvas 31.5.2007, 13:30 |
| dumb, да это тоже вариант. |