Автор Тема: TreeView не регистрирует клик мышью  (Прочитано 940 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2403
  • Репутация: 411
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Общее окно. В нем второе, прозрачное. В этом втором окне создан TreeView. Иконки устанавливаю свои. При клике мышью на область иконки она меняется на другую, в зависимости какой тип установлен.
Проблема: Иконки квадратные и круглые(эмуляция чекбоса и радиокнопки. Реальных чекбоксов нет, те что устанавливаются стилем). Когда чек пустой то при клике устанавливается чек с отметкой. Если навести мышку точно на изображение(галка), то при клике ничего не происходит. Не регистрируется выбор элемента TreeView. Если мышку сместить буквально на пару пикселей(на белое поле чекбокса), то все регистрации проходят. В чем глюк?
Для теста ссылка https://yadi.sk/d/V2EyAf_432Ydo9
Запустить программу, выбрать файл настроек(он в архиве) через меня Файл или Alt+3. Потом нажать F5. Запустится тестовый модуль. Кнопкой Далее перейти на страницу где будет отображаться TreeView. Там можно будет проверить то, что писал выше.
Если кто-то сталкивался с такой проблемой, то буду благодарен за пояснение.
Могу выложить в исходниках, но без компиляции тест не запустишь.
Ниже код опроса TreeView на события
(нажмите для показа/скрытия)
Ничего особенного, но для наглядности
лист иконок создаю так
(нажмите для показа/скрытия)
устанавливаю иконки так
Код: AutoIt [Выделить]
_GUICtrlTreeView_SetStateImageIndex($g_GTVEx_aTVData, $hChild, Number($infoparam[7]))

проблем с установкой иконок нет, только та, что описана выше.
« Последнее редактирование: Декабрь 08, 2016, 13:03:23 от joiner »
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Русское сообщество AutoIt

TreeView не регистрирует клик мышью
« Отправлен: Декабрь 08, 2016, 12:57:50 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3268
  • Репутация: 856
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: TreeView не регистрирует клик мышью
« Ответ #1, Отправлен: Декабрь 08, 2016, 13:31:42 »
joiner
Цитировать
Если навести мышку точно на изображение(галка), то при клике ничего не происходит
Дело в том, что все чёрные пиксели, рисующие "галку" - это Static1. И вообще все чёрные пиксели этого поля - это Static1. Следовательно, все клики в чёрные пиксели уходят в Static1. Можете даже между цифр кликнуть или внутрь нуля - всё уйдёт на обработку в Static1.

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2403

  • Автор темы
  • Репутация: 411
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: TreeView не регистрирует клик мышью
« Ответ #2, Отправлен: Декабрь 08, 2016, 15:44:27 »
Я обратил внимание, что в превью в папке эта иконка видится с более серой галкой. а на черном фоне галка черная. получается что рисунок имеет прозрачность.
верно, если кликать между буквами то клик уходит в первое окно. если нацелиться и кликнуть в название пункта, то будет действие(в линию знака)
клик по пунктам мне не нужен. главное - регистрация клика по иконке.
вобщем, нашел другую иконку и все работает.
в принципе надо было самому догадаться :) . Кнопки по такому же типу сделаны.
Но все-равно спасибо

Русское сообщество AutoIt

Re: TreeView не регистрирует клик мышью
« Ответ #2 Отправлен: Декабрь 08, 2016, 15:44:27 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
9129 Просмотров
Последний ответ Декабрь 04, 2009, 09:47:21
от ODIE
3 Ответов
5524 Просмотров
Последний ответ Январь 01, 2012, 14:55:16
от F4nT0m
10 Ответов
4881 Просмотров
Последний ответ Январь 26, 2012, 19:15:04
от gregaz
6 Ответов
2036 Просмотров
Последний ответ Июль 03, 2013, 13:12:35
от AZJIO
0 Ответов
983 Просмотров
Последний ответ Ноябрь 12, 2013, 08:54:14
от madmasles
4 Ответов
1745 Просмотров
Последний ответ Ноябрь 13, 2013, 01:13:25
от _ToBe_
3 Ответов
1544 Просмотров
Последний ответ Декабрь 06, 2013, 17:22:32
от Zhavner
3 Ответов
1465 Просмотров
Последний ответ Июнь 02, 2014, 22:29:03
от madmasles
2 Ответов
966 Просмотров
Последний ответ Июль 30, 2014, 20:46:37
от heyjoe
0 Ответов
755 Просмотров
Последний ответ Февраль 23, 2015, 20:50:22
от Teacher