Форум: "Основная";
Текущий архив: 2012.05.06;
Скачать: [xml.tar.bz2];
Вниз"Заморозить" TWebBrowser на время перезагрузки страницы Найти похожие ветки
← →
Дмитрий С © (2010-12-12 11:45) [0]Суть в чем:
Пользователь нажимает кнопку, после чего необходимо обновить содержимое TWebBrowser-а и прокрутить (scroll) его в то же положение, что он и был.
Делаю так:
- Сохраняю положение скроллов
- Обновляю страницу (на это уходит порядка 1 сек)
- Восстанавливаю положение скроллов.
Что видит пользователь, нажимая на кнопку:
- Старые данные
- Шапку страницы (около 1 сек)
- Новые данные
Что надо, чтобы видел пользователь:
- Старые данные (около 1 сек)
- Новые данные
DHTML не применим, т.к. страница слишком сложная, чтобы ее переделать, используются скрипты с document.writeln для ее построения, с вызовами external.
Вобщем вопрос: можно как нибудь заморозить изображение браузера, а после загрузки показать новое изображение.
Вариант в лоб (показ другого контрола со снимком страницы) пока оставлю напоследок.
← →
Сергей М. © (2010-12-12 16:48) [1]Может таки обратить свой взор в сторону AJAX, пока не поздно ?
← →
Дмитрий С © (2010-12-12 19:22) [2]
> Сергей М. © (12.12.10 16:48) [1]
> Может таки обратить свой взор в сторону AJAX, пока не поздно
> ?
Сам понимаю, что это правильное решение будет, но думаю стоит ли овчинка выделки.
Весь этот эффект нужен, чтобы всего лишь не сбивать с толку оператора (пользователя), а работы по переделыванию на аякс очень много. Т.к. ранее не планировалось, что отчет будет хоть как то динамичен.
В общем, сделал пока через снимок страницы. К тому же и небольшое затемнение удалось сделать.
← →
Медвежонок Пятачок © (2010-12-12 20:03) [3]Как раз с аяксом переделка будет минимальной.
Если взять к примеру прототайп.
Будет и модальность диалоговых окон и недоступность остальной страницы и все что хочешь.
← →
sniknik © (2010-12-12 22:35) [4]а LockWindowUpdate что не работает?
← →
Дмитрий С © (2010-12-13 07:51) [5]
> sniknik © (12.12.10 22:35) [4]
>
> а LockWindowUpdate что не работает?
Работает. Странная функция какая-то: Only one window can be locked at a time. Гарантии нет, что кто-нибудь другой не будет ею пользоваться, ведь неизвестно как там этот WebBrowser устроен.
> Медвежонок Пятачок © (12.12.10 20:03) [3]
>
> Как раз с аяксом переделка будет минимальной.
> Если взять к примеру прототайп.
> Будет и модальность диалоговых окон и недоступность остальной
> страницы и все что хочешь.
Проблема не в недоступности, это я и сам на js могу сделать. Проблема в том, то скролл страницы "скачет" при обновлении. А переделать то что уже есть на ajax сложно. На это нет времени, ни оплаты.
Вариант с LockWindowUpdate, скрытием WB, перекрытием WB на время работает отлично, но при показе или при анлоке WB перерисовывается выполняя, видимо, EraseBackground и моргает. DoubleBuffered не помогает
← →
sniknik © (2010-12-13 07:58) [6]> скрытием WB
зачем? прятки противоречат
> Что надо, чтобы видел пользователь:
> - Старые данные (около 1 сек)
> - Новые данные
> но при показе или при анлоке WB перерисовывается выполняя, видимо, EraseBackground и моргает.
просто "разлочить" позже.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2012.05.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c