бывает что клик попадает на контрол на позиции курсора. В связи с чем стараюсь под комбобоксами не держать контролы с необратимыми последствиями при клике. Но не всегда есть такая роскошь с пространством для контролов. Может у кого-то тут есть идеи по защите под-комбобоксного пространства от прощелкивания на момент селекта в cbb?
Так не защиту надо придумывать, а понять, почему клик "протек" в другой контрол. Пмсм.
подозреваю что пользователи (включая меня) иногда делают даблклик. рефлекторно. более того, иногда мышь с пробегом может "течь" на даббл и даже триппл клики при заказаном сингл-клике.
Но у вас в норме разделяются OnClick и OnDoubleClick, при дабле propagation второго должно пресекаться, няп.
Это что там за самопальный комбобокс такой? У нормального комбика дроплист при клике блокирует сообщения от мыши после своего закрытия, т.е. чтобы у тебя там ни было и куда бы ты ни кликнул, даже в сторону от комбика, клик должен быть сьеден оконной процедурой дроплиста.
да я щас потестил на простом гуе, ничего не течет. придется отлавливать по факту обнаружения. Из диалогов выбора файлов, тоже бывает протекает клик.
Это у тебя бывает или у пользователя? Если у юзера - есть такие игромые мыши, там на автомате есть возможность эмуляции двойного и тройного клика вместо одинарного. Пусть в эту сторону смотрят
Комбик нативный или какой самопал?
нативный. предлагаю эту тему отложить в долгий ящик. мало фактов..
Ну если еще и нативный - то либо проблема в мышке, либо.... ну хз, хуки какие на мышь сторонние
Бывает мышка с пробегом дает несколько кликов. Было как-то такое, что нажимаешь чек бокс, а он сразу обратно меняется 😂 так что мышку менять надо скорее всего))
обычно да, такое заметно. Более того, я воспроизвел на паре смышей у котороых протекало на даббл и даже триппл клик цолесо мыши. таким щелчком удобно открывать линк в браузере в новой вкладке. И если такой прощёлк случается на форуме с авторизацией по кукам - то сессия по кукам слетает и приходится заново логиниться на форум. ну типа phbb и тому подобные. классика 2010-х. Т.е. это проверено.
Делфи/лазарус?
делфи XE7, VCL
Попалось. Win7, XE7, VCL, протекает из стандартного диалога выбора файла в заголовок TCategoryPanel при следующих условиях: если файл выбирался даббл-кликом по имени файла и позиция курсора мыши оказывается над заголовком TCategoryPanel.
Попалось, стабильно воспроизводится. Win7, XE7, VCL. Если в стандартном диалоге выбора файла (инстанс TOpenDialog), расположеном поверх формы, выполняется выбор файла посредством даббл-клика по имени файла и если позиция курсора мыши, при этом, находится над формой, то в форму, после закрытия диалога, протекает один OnMouseUp. Если эта позиция приходится на контрол чуствительный к OnMouseUp (например заголовок TCategoryPanel) - то он, соответственно, реагирует на данную протечку.
что-же вы не читаете. комбобоксы вообще не причем.
Правильно написанный контрол не должен реагировать на что попало. Штатные контролы для этого имеют флаг что мышь была нажата
удивительно, кто то ещё на win 7 сидит
а что не сидеть-то? на фоне матюгов на вин10 и 11, несмотря на них плюшки
Обсуждают сегодня