Страница 1 из 1
					
				Позиционирование по правому щелчку мышки в ListBox’е
				Добавлено: 19 Декабрь 2005, 18:39
				 NewUser
				Есть стандартный ListBox (не Browse) по очереди.
Есть руками писанный PopUp.
Все работает, все вызывается (по правой кнопке мышки), но…..
В отличии от стандартного Browse’а, если щелкнуть правой кнопкой мышки по невыделенной записи, то появляется окно PopUp меню касательно ВЫДЕЛЕННОЙ записи.
Вопрос:
Как выделить запись, по которой совершен щелчок правой кнопкой мышки?
Вроде бы простой вопрос, но что-то не получается его реализовать.
С55Н, АВС.
Заранее благодарен.
			 
			
					
				
				Добавлено: 19 Декабрь 2005, 19:14
				 NewUser
				На LisxBox'е висит Alert MouseRight
В AlertKey - идет обработка:
IF KEYCODE() = MouseRight
   PopupString=PopupMgr.Ask()
    Cycle
END
Она-то и перехватывает "позиционирование" на нужную запись. Здесь, я полагаю, надо ручками отловить координаты щелчка мышки, а как спозиционироваться - тут нет проблем.
Что-то не получается узнать, по какой записи (позиции в ЛистБоксе) был произведен щелчок правой кнопкой мыши... 

 
			
					
				
				Добавлено: 20 Декабрь 2005, 0:54
				 Admin
				Нужно отлавливать MouseRightUp а не MouseRight и все будет хорошо.
Я себе для этих целей написал шаблон который и сую во все дырки 
 
MouseRightUp можно прописать только ручками. В стандартном выборе кнопок его нет.
 
			
					
				
				Добавлено: 20 Декабрь 2005, 5:23
				 NewUser
				Спасибо, Admin, все гениальное – как всегда – просто!
Можно и домой идти!
			 
			
					
				
				Добавлено: 20 Декабрь 2005, 9:45
				 Дед Пахом
				На LisxBox'е висит Alert MouseRight 
В AlertKey - идет обработка: 
IF KEYCODE() = MouseRight 
PopupString=PopupMgr.Ask() 
Cycle 
END
Нужно отлавливать MouseRightUp а не MouseRight и все будет хорошо.
Можно ещё на Event:PreAlertKey поставить
IF KEYCODE()=MouseRight THEN CYCLE END
тогда броуз сначала спозиционируется на щелчке, а потом уже отработает Popup()
 
			
					
				
				Добавлено: 20 Декабрь 2005, 13:29
				 NewUser
				Спасибо, Дед Пахом! Ушел ценный совет в копилку "как сделать так...."
			 
			
					
				
				Добавлено: 21 Декабрь 2005, 8:33
				 gudkov
				Вставил код: IF KEYCODE()=MouseRight THEN CYCLE., как и было написано, запись подсвечиваеться, но селект на нее происходит только после второго щелчка. C6.2ШВС
			 
			
					
				
				Добавлено: 21 Декабрь 2005, 9:10
				 Дед Пахом
				Да? Не знаю, я ABC юзаю, там работает. Видимо, в ШВС и ABC разные по своей сути циклы, в которых этот CYCLE.