Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как программно сменить кодировку в WebBrowser ActiveX ctrl  (Прочитано 5454 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alexxx_ltd
Гость
« : 16-06-2004 12:52 » new

Как программно сменить кодировку в WebBrowser ActiveX контроле.
Делаю:

   HRESULT hr;
   CComPtr<IDispatch> disp = this->GetHtmlDocument();
   CComPtr<IHTMLDocument2> m_doc = NULL;
   hr = disp->QueryInterface(&m_doc);
   if (SUCCEEDED(hr))
   {
      m_doc->put_charset(CComBSTR("windows-1251"));
      
      CComPtr<IHTMLElementCollection> m_pElemCollection;
      CComBSTR Text;   
      
      
      hr = m_doc->get_all(&m_pElemCollection); // get collection
      if (SUCCEEDED(hr))
      {
         long cntr;
         hr = m_pElemCollection->get_length(&cntr); // get lenght
         
         if (SUCCEEDED(hr))
         {
            
            for (int i = 0; i<cntr; i++) // all collection
            {
               VARIANT vIndex;
               
               vIndex.vt = VT_I4;
               vIndex.intVal = i;
               IDispatch*  pDisp = NULL;
               m_pElemCollection->item(vIndex, vIndex, &pDisp);
               
               IHTMLMetaElement* m_Meta = NULL;
               hr = pDisp->QueryInterface (&m_Meta);
               if (SUCCEEDED(hr))
               {
                  m_Meta->put_charset(CComBSTR("windows-1251"));
                  m_Meta->Release();
               }
               
               pDisp->Release();
               
            }
         }
      }
      
   //   hr = m_doc->put_defaultCharset(CComBSTR("windows-1251"));
      
   //   CComPtr<IHTMLLocation> pLoc = NULL;
   //   m_doc->get_location (&pLoc);
      
   //   hr = pLoc->reload(VARIANT_FALSE);
      
   }
И ничего не происходит. Точнее когда открываешь контекстное меню по правому клику, то там кодировка поменяня, а отображение  страницы не меняется. В чем грабли???
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines