inververs
AutoIT Гуру
- Сообщения
- 2,135
- Репутация
- 465
Не понимаю почему перестает работать
Если взять обычный пример из функции
то события WM_NOTIFY приходят и можно получить текущую выделенную строку в Combo.
Но если Combo содержит изображения, то события уже не приходят. Вот как здесь:
Как тогда и какие события ловить, что бы знать что выбрали другую элемент в Combo?
Код:
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Если взять обычный пример из функции
Код:
_GUICtrlComboBoxEx_Create
Но если Combo содержит изображения, то события уже не приходят. Вот как здесь:
Код:
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiImageList.au3>
Global $g_hCombo
Example()
Func Example()
Local $hGUI
; Create GUI
$hGUI = GUICreate("ComboBoxEx Create", 400, 300)
$g_hCombo = _GUICtrlComboBoxEx_Create($hGUI, "", 2, 2, 394, 100, BitOR($CBS_DROPDOWN,$CBS_DROPDOWNLIST))
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Local $hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($g_hCombo, 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($g_hCombo, 0x00FF00, 16, 16))
_GUICtrlComboBoxEx_SetImageList($g_hCombo, $hImage)
For $x = 0 To 1
_GUICtrlComboBoxEx_AddString($g_hCombo, StringFormat("%03d : Random string", Random(1, 200, 1)), $x, $x)
Next
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo
ConsoleWrite('WM_NOTIFY' & @CRLF)
EndFunc ;==>WM_NOTIFY
Как тогда и какие события ловить, что бы знать что выбрали другую элемент в Combo?