Как перерисовать / перекрасить IHTMLElement, указывающий на элемент изображения в DOM в IE9?
У меня есть действительный объект IHTMLElement, который указывает на изображение в IE9. Данные изображения были недавно обновлены через IDirectDrawSurface. Я пытаюсь найти способ заставить IE9 перекрасить изображение в DOM после обновления данных изображения. Может ли кто-нибудь, пожалуйста, направить меня к методу принуждения к перерисовке изображения, которое было обновлено в этой моде?
Подходы, которые я пробовал:
HRESULT ret = pElement->get_style(&pStyle);
pStyle->put_visibility(L"hidden");
pStyle->put_visibility(L"visible");
// Or
pStyle->put_display(L"none");
pStyle->put_display(L"block");
Спасибо за ваше время, и любые советы будут с благодарностью.
-Будет
1 ответ
Решение
Вы пытались сбросить SRC элемента? Из того, что я вижу, IE ничего не будет делать, если вы установите тот же src, который уже присутствует, но похоже, что его можно обмануть;
IHTMLImgElement pImg;
m_pElement->QueryInterface(IID_IHTMLImgElement, (void**)(&pImg));
_bstr_t bstrOriginalSrc;
pImg->get_src(bstrOriginalSrc.GetAddress());
pImg->put_src(L""); //Trick to avoid setting the same src as already present
pImg->put_src(bstrOriginalSrc);