Помогите с этим вопросом - PullRequest
0 голосов
/ 11 апреля 2011

Вот проблема:

Работа системы с графическим интерфейсом, которую я использую, заключается в следующем:

Виджет может прослушивать события мыши.Слушатели могут использовать событие, которое они слушают, и в результате виджет, который они слушали, не получит событие, даже если оно предназначено для них, только слушатель получит его.

проблема возникает здесь:

Панель прокрутки имеет ListBox внутри.Список можно прокрутить.Панель прокрутки также можно прокручивать.То, что происходит прямо сейчас, - это когда я вращаю колесо мыши, а виджет под мышкой - это список, перемещаются и список, и область прокрутки.Единственное решение, которое я вижу, состоит в том, что область прокрутки потребляет все события колесика мыши, но тогда ListBox не может быть прокручен.

Мне нужно прокручивать ListBox, когда он имеет фокус, ноесли бы я это сделал, это не сработало бы, потому что, например, если переключатель внутри области прокрутки сфокусирован, я все же хочу, чтобы область прокрутки прокручивалась, это только для виджетов с полосами прокрутки, таких как текстовое поле и список, где это нежелательно.

Спасибо

Кроме того, система графического интерфейса, которую я использую, является моей собственной, которую я разрабатываю.

1 Ответ

0 голосов
/ 11 апреля 2011

Обычный способ справиться с этим состоит в том, что ListBox потребляет событие , только если оно фактически прокручивает . Если вы поместите мышь в список и используете колесо прокрутки, список прокручивается, пока не достигнет своего предела прокрутки. После этого дальнейшие движения колеса приводят к прокрутке области прокрутки.

Очевидно, что есть варианты - важно решить, чего вы на самом деле хотите достичь.

Вам также нужен другой способ прокрутки области прокрутки, чтобы, если пользователь явно хочет прокрутить ее, он мог, без необходимости прокручивать до конца ListBox. Полосы прокрутки на панели прокрутки будут одним из способов. Вы также должны убедиться, что существует способ прокрутки ListBox без использования колесика мыши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...