Re: События от mouse wheel на элементах
От: c-smile Канада http://terrainformatica.com
Дата: 30.07.13 02:33
Оценка:
Здравствуйте, PM, Вы писали:

PM>Можно ли это привести к какому-то одинаковому поведению?


mouse wheel policy вообще-то унифицирована:

0. все mouse wheel события поступают главному htmlayout/sciter окну если оно само активное (имеет фокус внутри)
1. mouse wheel | sinking ловится и обрабатывается scrollable container'ом. Если такого нет то
2. необработанный mouse wheel поступает тому элементу над которым мышь находится.

PM>Меня бы устроило и отсутствие реакции в элементах управления на колесико мыши. Для этого я пытался поставить обработчик на события мыши для всего документа и перехватывать их примерно таким способом:

PM>Но так естественно перестает работать прокрутка содержимого документа, что хотелось бы оставить.

В принципе правильно, MOUSE_WHEEL задавили, но тогда надо (пере-)послать это событие нужному элементу:

virtual bool my_event_handler::handle_mouse(HELEMENT he, MOUSE_PARAMS& params ) 
{
  if ( event_type == MOUSE_WHEEL | SINKING )
  {
    BOOL handled;
    params.cmd = MOUSE_WHEEL;
    params.target = he;
    HTMLayoutTraverseUIEvent(HANDLE_MOUSE,&params,handled);
    return true;
  }
  return false;
}


(Предполагается что my_event_handler стоит на html или body или что там у тебя scrollable)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.