Как перерисовать / перекрасить 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);
Другие вопросы по тегам