Здравствуйте, DmitryScaletta, Вы писали:
DS>Добавил в класс окна метод
DS>DS>bool on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
DS> if (type == BUTTON_CLICK && sciter::dom::element(target).test("button#message"))
DS> {
DS> MessageBox(_hwnd, L"test", L"", 0);
DS> }
DS> return true;
DS>}
DS>
DS>Нажимаю на кнопку button#message.
DS>Метод вызывается 2 раза.
DS>Первый раз значение type — 32769, второй — 65537
DS>А BUTTON_CLICK = 0
Поменяй
return true;
на это
return false; // event not handled
и будет тебе шастя.
В твоем коде ты получаешь событие (BUTTON_CLICK | SINKING) и возвращаешь true что значит "consumed".
Engine честно выполняет твое пожелание поэтому дальше это событие уже идет под кодом (BUTTON_CLICK | HANDLED) что ты и наблюдаешь.