Re: IE and images - я уже в отчаянии...
От: Nikeware http://www.nikeware.com
Дата: 09.02.03 15:14
Оценка: 48 (2)
Здравствуйте, Flamer, Вы писали:

F>Ситуация такая: есть проект на Билдере. Есть настройка проги — "Отображать рисунки на страницах". Вариант в прописыванием ключика в реестр (закомментированный кусок кода ниже) не устраивает, ибо глобальный, да и при его изменении надо пересоздавать окно браузера (TCppWebBrowser), что не есть хорошо. Пока дошел только до кода, приведенного ниже, но это обман (рисунки-то загружаются с сервера, да и крестики вместо рисунков — плохо). Экмпериментировал с реализацией IOleClientSite — AV получаю... Думается, что наиболее лучшим, но и гиморным решением будет вручную реализовывать хост для IE. Что само по себе убивает простоту использования компонент


F>Собственно, вопрос: как реализовать наиболее безболезненно запрещение загрузки рисунков (именно в Билдере; примеров на VC куча, все прекрасно, да вот в Билдере надо, а там ручками много не понаделаешь ;( ).



Позвольте все же на VC++ привести пример.

BOOL CMyHtmlVew::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar)
{
    // Change download properties - show always images, videos, sounds and e.t.c.
    if (dispid == DISPID_AMBIENT_DLCONTROL)
    {
        pvar->vt = VT_I4;
        pvar->lVal = DLCTL_DLIMAGES | DLCTL_VIDEOS | DLCTL_BGSOUNDS | DLCTL_SILENT;

        return TRUE;
    }
    
    return CHtmlView::OnAmbientProperty(pSite, dispid, pvar);
}


А это из описания OnAmbientProperty в MSDN.

The framework calls this member function to obtain ambient property values from a window that contains OLE controls. Override this function to alter the default ambient property values returned by an OLE control container to its controls. Any ambient property requests not handled by an overriding function should be forwarded to the base class implementation.

Мне кажется нужно копать в сторону DISPID_AMBIENT_DLCONTROL. И вопрос — есть ли что подобное OnAmbientProperty в TCppWebBrowser? Уверен, что именно в этом направлении можно все полюбовно решить .

Сорри, если что не так.

"To merge or not to merge?"
www.visual-comparer.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.