Что нового

TreeView ($TVS_FULLROWSELECT) Item Event

RaZum

Знающий
Сообщения
78
Репутация
14
В TreeView, со стилем $TVS_FULLROWSELECT, при нажатии в любом месте строки пункта, выделяется вся строка, но выбор пункта (событие), происходит только при нажатии на текст пункта.

Возможно ли получить событие выбора пункта TreeView, при нажатии на часть строки вне области текста?
И к тому же нужно получить ControlID
Код:
$TVS_FULLROWSELECT = 0x1000

    Opt ("GuiOnEventMode", 1)
    
    GUICreate("")
        GUISetOnEvent (-3, "_Close")

$Lb = GUICtrlCreateLabel ("-- // --", 100, 10)

$TV = GUICtrlCreateTreeView (10, 50, 350, 100, $TVS_FULLROWSELECT)
    
    GUICtrlCreateTreeViewItem ( "Верх", $TV)
        GUICtrlSetOnEvent (-1, "_TVItemText" )
    GUICtrlCreateTreeViewItem ( "Низ", $TV)
        GUICtrlSetOnEvent (-1, "_TVItemText" )
    
    GuiSetState ()

While 1
    Sleep (1000)
WEnd

Func _TVItemText ()
    GUICtrlSetData ($Lb, GUICtrlRead (@GUI_CtrlId, 1))
EndFunc

Func _Close ()
    Exit
EndFunc
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Регистрировать WM_NOTIFY. Получать уведомление о клике на пункте. Высылать флаг уведомления в основной цикл и производить действие
 
Верх