Здравствуйте, c-smile, Вы писали:
CS>>>Такое впечатление что у тебя где-то вызов SciterGetMin/MaxWidth/Height() где-то воткнут не по делу.
S>>Воткнут, да. Но казалось бы, что по делу — реакция на WM_GETMINMAXINFO для ограничения минимального размера диалога:
CS>А почему этот код у тебя вызывается по mouse move?
Так в том-то и дело, что не вызывается
Под отладчиком проверил — в
SciterGetMinWidth попадаем только при инициализации диалога плюс пару раз в процессе из обработчика
WM_GETMINMAXINFO (пока делаются MoveWindow и т.п.).
Дальше, ресайз диалога, опять попадаем в
SciterGetMinWidth (через WM_GETMINMAXINFO), отключаю брейк-поинты, заврешается ресайз, включаю обратно.
Как только курсор попадает в область
widget / table получается обсуждаемый эффект, но точки останова в
SciterGetMinWidth ни разу не срабатывают при этом.
Вот как-то так.
--
Вырезал всякое лишнее из реализации (по факту — это доработка dilaog из HTMLayout SDK), добавил
вот эти два файла в plain-win проект.
Вызов:
gui::scdialog dlg (hWnd, WS_SIZEBOX);
dlg.ShowModal(L"res:size_test.htm");
Проблема воспроизводится, можно проверить.
--
Есть workaroud, конечно — к
SciterGetMinWidth/Height() единственное обращение делается в
on_WM_INITDIALOG, значения запоминаются. В
on_WM_GETMINMAXINFO используются сохраненные значения, без обращений к
SciterGetMinWidth/Height(), тогда паразитных ресайзов не наблюдается. Тем не менее, не понятно, почему так...
--
S>>Вопрос по инспектору — он совсем не умеет показывать markup для контента, загруженного через SciterLoadHtml? Или можно как-то?
S>>Так получается, что всё показывает — DOM, внешние css, картинки и пр., а саму страницу нет.
И вот этот вот вопрос еще актуален, если не затруднит.