У меня проблема, которая граничит с нелепой. Это звучит просто, но я провел пару дней, исследуя это безрезультатно.устаревший список не касается-прокрутки
У меня есть программа в ATL/WTL, которая использует элементы управления listview для отображения файлов и папок. Пользователи жалуются, что эти панели не будут прокручиваться, используя жест «панорамирования» на ПК с сенсорным экраном. Он прокручивает изображение с помощью мыши, но не пальцем.
Программа полностью косвенна. Он полагается на legacy behavior, чтобы перевести touch для прокрутки сообщений, но он не работает. Мне сложно устранить неполадки, потому что У меня нет есть сенсорный экран Windows для тестирования. Я считаю, что сообщения прокрутки отправляются, но затем окно возвращается. Я вообще не делаю никаких событий прокрутки, поэтому это поведение по умолчанию по умолчанию.
Другие элементы управления списком, которые я использую в той же программе, например. в диалоговых окнах, работайте правильно (!) с сенсорной прокруткой. После устранения всех других возможностей я пришел к выводу, что проблема возникает из имени класса окна (?). В то время как ListView окно в диалогах имеет имя syslistview32
класса по умолчанию, взгляды, которые не будут спиральными superclassed в АТЛ образом:
DECLARE_WND_SUPERCLASS(_T("ATL:ShellItemView"), CListViewCtrl::GetWndClassName())
однако базовый классом является стандартом управления ListView. Может ли проблема быть именем класса ?! Я ничего не могу придумать. Если у вас есть сенсорный компьютер, вы можете попробовать программу здесь (free trial)
благодаря Никоса
Сверхклассификация изменяет поведение. Разве вы не считали, что вы активно нарушаете функциональность, которой вы подвергаетесь? – IInspectable
Суперкласс имеет тот же DefWndProc, что и элемент управления списком. Я только изменяю поведение, которое мне нужно, и это не имеет никакого отношения к прокрутке. Если моя догадка правильна, независимо от того, что имеет дело с трансляцией сообщений с сенсорным прокруткой, он смотрит на имя класса окна, чтобы распознавать стандартные элементы управления. – nikos
Итак, теперь вы знаете, как построить [mcve]. – IInspectable