Что нового

Как создать в ListBox выпадающее меню по правой кнопке мыши?

vovsla

Осваивающий
Сообщения
607
Репутация
36
Подскажите в какую сторону копать, поиск по форуму и в гугле ничего не дал.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Vovsla
Код:
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("", 361, 150, 192, 124)
$List = GUICtrlCreateList("", 0, 0, 121, 110)
GUICtrlSetData($List, "Строка 1|String 2")
$Menu=GUICtrlCreateContextMenu($List)
$mGetSel=GUICtrlCreateMenuItem("Показать выделенный пункт",$Menu)
GUISetState(@SW_SHOW)
While 1
	Switch GUIGetMsg()
		Case $mGetSel
			Local $sText=GUICtrlRead($List)
			If $sText<>"" Then
				MsgBox(0,'',$sText)
			EndIf
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd
 
Автор
V

vovsla

Осваивающий
Сообщения
607
Репутация
36
Спасибо, то что нужно.
А можно выбор пункта меню отлавливать не в цикле по GUIGetMsg(), а по событию?


Добавлено:
Сообщение автоматически объединено:

Все, нашел, оказалось повесить функцию на менюшку можно как на обычный элемент.
http://www.autoitscript.com/forum/topic/106850-read-menu-item-when-using-opt-on-event/
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Vovsla
Там используют режим EventMode - по событиям в функцию, можно было бы с guigetmsg но с зарегистрированной функцией $wm_contextmenu
 
Верх