Информация об изменениях

Сообщение Re[2]: Повесить обработчик событий onClick на элемент от 16.07.2015 17:55

Изменено 16.07.2015 18:00 DmitryScaletta

Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, DmitryScaletta, Вы писали:


DS>>Как мне на "my_div" повесить обработчик событий onClick?


CS>Все DOM событиия всплывают по цепочке контейнеров к окну поэтому если у тебя окно отнаследовано от sciter::event_handler то все DOM events туда приходят.

CS>Поэтому ты можешь написать нечто типа:
CS>
CS>bool my_window::on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
CS>  if( type == BUTTON_CLICK && dom::element(target).test("#table > .my_div") )
CS>    on_my_div_clicked();
CS>}
CS>


Добавил в класс окна метод

bool on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
    if (type == BUTTON_CLICK && sciter::dom::element(target).test("button#message"))
    {
        MessageBox(_hwnd, L"test", L"", 0);
    }
    return true;
}


Нажимаю на кнопку button#message.

Метод вызывается 2 раза.

Первый раз значение type — 32769, второй — 65537
А BUTTON_CLICK = 0

В итоге код не работает.
Re[2]: Повесить обработчик событий onClick на элемент
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, DmitryScaletta, Вы писали:


DS>>Как мне на "my_div" повесить обработчик событий onClick?


CS>Все DOM событиия всплывают по цепочке контейнеров к окну поэтому если у тебя окно отнаследовано от sciter::event_handler то все DOM events туда приходят.

CS>Поэтому ты можешь написать нечто типа:
CS>
CS>bool my_window::on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
CS>  if( type == BUTTON_CLICK && dom::element(target).test("#table > .my_div") )
CS>    on_my_div_clicked();
CS>}
CS>


Добавил в класс окна метод

bool on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
    if (type == BUTTON_CLICK && sciter::dom::element(target).test("button#message"))
    {
        MessageBox(_hwnd, L"test", L"", 0);
    }
    return true;
}


Нажимаю на кнопку button#message.

Метод вызывается 2 раза.

Первый раз значение type — 32769, второй — 65537
А BUTTON_CLICK = 0

В итоге код не работает.

  screens
http://i.imgur.com/TvA1RrQ.png
http://i.imgur.com/fAKwQBO.png