Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизОтключить скрол у TComboBox Найти похожие ветки
← →
bss (2010-06-01 15:59) [0]У ComboBox"а есть раздражающее многих поведение - если фокус остался на компоненте, то он крутится по колесику мыши. Зачастую бывает - выбрал что-то в ComboBox"е, потом перевел курсор на тот же Grid (кликнуть и переправить фокус забыл) и начинаешь крутить колесо - а крутятся данные в ComboBox"е.
Как бы красиво отрубить ему этот функционал. Желательно так, чтобы когда курсор мыши был на ComboBox"е то список крутился, но если курсор ушел с ComboBox"а то уже нет.
А вообще самое идеальное - это позволить менять значение в ComboBox"е только сначала вызвав список и там уже выбрав значение, чтобы в схлопнутом состоянии не прокручивалось ни стрелочками, ни колесиком. Но тут возникает проблема управления ComboBox"ом с клавиатуры. Не знаю способа, чтобы с клавиатуры раскрыть список...
← →
Kerk © (2010-06-01 16:01) [1]ComboBox умеет скроллиться, не имея фокуса?!
← →
bss (2010-06-01 16:02) [2]
> ComboBox умеет скроллиться, не имея фокуса?!
ты неверно прочитал. ComboBox умеет скролится, имея фокус, но при этом курсор мышки не на нем, что порождает ошибки иногда.
← →
Leonid Troyanovsky © (2010-06-01 16:06) [3]
> bss (01.06.10 15:59)
> с клавиатуры раскрыть список...
Alt+Down
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-06-01 16:08) [4]
> Leonid Troyanovsky © (01.06.10 16:06) [3]
Еще F4, ЕМНИП.
← →
Kerk © (2010-06-01 16:09) [5]
> bss (01.06.10 16:02) [2]
>
> > ComboBox умеет скроллиться, не имея фокуса?!
>
> ты неверно прочитал. ComboBox умеет скролится, имея фокус,
> но при этом курсор мышки не на нем, что порождает ошибки
> иногда.
Теперь понял. Действительно, неприятно бывает.
Может, совсем ему колесо мышки отключить?
← →
12 © (2010-06-01 16:20) [6]
> Теперь понял. Действительно, неприятно бывает.
> Может, совсем ему колесо мышки отключить?
может проще фокус отдать?
← →
Дмитрий Т (2010-06-01 16:47) [7]вообще у меня дома и на работе работает по разному.
у меня есть ощущение, что разные мыши - разные драйвера, в результате события колеса приходят компоненту под которым мышь, а не тому на котором фокус.
меня тоже бесит, когда колесо фокусированному контролу приходит.
может в настройках покопаться? или драйвера поставить, а не штатные от Винды брать. в спец. драйверах должна быть навернутая настройка (видимо).
← →
turbouser © (2010-06-01 16:59) [8]
> Дмитрий Т (01.06.10 16:47) [7]
>
> вообще у меня дома и на работе работает по разному.
Наверное, дома комфортнее, от этого события от мышки приходят спокойнее и не так часто
← →
Дмитрий Т (2010-06-01 17:13) [9]Не веришь?
Действительно разница есть.
Особо удобно крутить страницы и GUI - где мышь, там и крутится.
Видимо, драйвер так работает.
← →
>_ (2010-06-01 17:13) [10]При событии OnMouseWheel комбобокса проверять, открыт ли он, если нет - глушить. Не?
← →
12 © (2010-06-01 17:28) [11]
> При событии OnMouseWheel комбобокса проверять, открыт ли
> он, если нет -
снимать с него фокус
← →
bss (2010-06-01 17:49) [12]
> Alt+Down
> Еще F4, ЕМНИП.
спасибо!
> Действительно разница есть.
разница есть, это правда. Видимо, действительно зависит от драйвера мыши.
> При событии OnMouseWheel комбобокса проверять, открыт ли
> он, если нет - глушить. Не?
ну если чО - у него нет такого события ))
← →
Leonid Troyanovsky © (2010-06-01 18:20) [13]
> bss (01.06.10 15:59)
> Как бы красиво отрубить ему этот функционал.
ComboBox.Perform(CB_SETEXTENDEDUI, 1, 0);
Ну, и останется только стрелка вниз.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-06-01 18:22) [14]
> bss (01.06.10 17:49) [12]
> от драйвера мыши.
Некоторые драйвера могли (могут?) генерировать
вместо событий колеса те же стрелки.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-06-01 18:23) [15]
> bss (01.06.10 17:49) [12]
> ну если чО - у него нет такого события ))
Оно есть, в protected.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-06-01 18:44) [16]
> 12 © (01.06.10 17:28) [11]
> снимать с него фокус
Прерогатива юзера.
--
Regards, LVT.
← →
Игорь Шевченко © (2010-06-02 13:18) [17]
> потом перевел курсор на тот же Grid (кликнуть и переправить
> фокус забыл) и начинаешь крутить колесо - а крутятся данные
> в ComboBox"е
а ты ждешь, что грид поймет, что ты на него перевел курсор и начнет прокручиваться по колесу ?
← →
bss (2010-06-02 14:10) [18]
> а ты ждешь, что грид поймет
этого жду не я, этого ждут пользователи. И ладно если грид не начинает прокручиваться - человек соображает, что не перевел фокус, кликает и начинает опять прокручивать. Плохо то, что к тому времени может уже прокрутиться combobox на непонятное значение. И это, кстати, легко не заметить. Я сам такое натыкался в том же браузере при заполнении формы.
← →
Игорь Шевченко © (2010-06-02 14:18) [19]bss (02.06.10 14:10) [18]
> этого жду не я, этого ждут пользователи
Если этого ждут пользователи твоей программы, перехватывай фокус автоматом при появлении курсора над нужным контролом (правда, ComboBox захватывает мышь, но только при открытом списке)
← →
bss (2010-06-02 14:43) [20]зачем? Я не считаю это правильным. Также я считаю неправильным, что combobox крутится, когда курсор не над ним.
← →
Leonid Troyanovsky © (2010-06-02 14:44) [21]
> bss (02.06.10 14:10) [18]
> этого жду не я
Чем [13] не угодил?
--
Regards, LVT.
← →
bss (2010-06-02 14:57) [22]
> Чем [13] не угодил?
почему не угодил, очень даже угодил. И за F4, Alt+Вниз спасибо, я все запомнил, записал )) Просто в результате немного сделал по-другому, свел список ComboBox к двум значениям и тут уже заменил просто на CheckBox.
← →
Омлет © (2010-06-02 15:10) [23]В Опере и FF последних версий от этой недофичи избавились, за что им спасибо. А то в некоторых веб-формах думаешь, что скроллишь страницу, а прокручивается селект, что еще и вызывает долгое обновление всей формы под новые выбранные параметры.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.062 c