Что нового

Действие при нажатии на пункт элемента List

Alexander

Новичок
Сообщения
105
Репутация
2
Функция: GUICtrlCreateList

Пробовал сделать так:

Код:
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $List
            MsgBox(0, 'Message', GUICtrlRead($List))
     EndSwitch
WEnd


Но у меня включена опция Opt("GUIOnEventMode", 1)

Поэтому ничего при нажатии на пункт не происходит...
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
370
Код:
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
GUICreate('')
$hList = GUICtrlCreateList('1111', 5, 5, 100, 20)
GUICtrlSetOnEvent($hList, '_list')
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, '_exit')

While 1
	Sleep(1)
WEnd

Func _exit()
	Exit
EndFunc

Func _list()
	MsgBox(0, 'List', 'list has been clicked!' & @CRLF & 'text in list: ' & GUICtrlRead($hList))
EndFunc

PS: пока писал стало вместо Lable List, переписал
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Alexander [?]
зачем? если ты не знаешь, как работает тот или иной режим прорисовки, зачем его использовать?
в режиме Opt("GUIOnEventMode", 1) опрос окна через $msg = GUIGetMsg() проводить не надо. а что именно надо делать, читай в справке
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Redline
Спасибо! Точно так же пытался (когда справку прочитал), но вместо GUICTRLSetOnEvent использовал GUISetOnEvent) Невнимательность...
Kaster
Какая полезность твоего поста?

1) опрос окна через $msg = GUIGetMsg() проводить не надо. а что именно надо делать, читай в справке

Это я знал. Поэтому и просил альтернативу $msg = GUIGetMsg()
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Alexander [?]
Какая полезность твоего поста?
помочь начать читать справку. потому как, очевидно, что твоя проблема была вовсе не в том, что ты использовал одно вместо другого, по крайней мере этого не видно в строках, что ты привел, а в том, что ты использовал принцип опроса окна взятой из одного режима и использовал в другом (в справке есть примеры, как реализованы оба варианта). да и потом, вполне нормальные вопрос - зачем ты используешь редкий режим прорисовки? потому как они взаимозаменяемы на 99%.
 
Верх