V aplikaci Internet Explorer nelze pomocí volání GetHostInfo použít aktualizovanou globální předlohu se styly (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

328803
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Příznaky
Při zadání globální stylů pomocí implementace IDocHostUIHandler::GetHostInfo v aplikaci, že hostitelé ovládacího prvku webového prohlížeče, globální stylů nelze změnit po má byla použita první.
Příčina
MSHTML aktualizuje pouze jeho vnitřní globální stylů při prvním vytvoření šablony stylů.
Řešení
K dispozici je podporovaná oprava hotfix od společnosti Microsoft. Tato oprava hotfix je však určena pouze k opravě problému popsanému v tomto článku. Použijte tuto opravu hotfix pouze u systémů, kde dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Pokud Vás tento problém závažně nepostihuje, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Pokud je oprava hotfix k dispozici ke stažení, v horní části tohoto článku je sekce "Hotfix stažení k dispozici". Pokud tento oddíl nevidíte, obraťte se na Technickou podpora společnosti Microsoft pro získání opravy hotfix.

Poznámka: Pokud vyskytnout další problémy nebo jakékoli řešení potíží je vyžadován, pravděpodobně budete muset vytvořit zvláštní požadavek na službu. Výdaje na technickou podporu se týkají dalších otázek a problémů, které nelze vyřešit pomocí této opravy konkrétní opravy hotfix. Navštivte následující web společnosti Microsoft pro získání telefonního čísla na Zákaznické centrum, nebo pokud chcete vytvořit samostatnou žádost o podporu: Poznámka: Zobrazí formulář "Hotfix stažení k dispozici" jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, oprava hotfix není k dispozici pro daný jazyk.

Anglická verze této opravy má následující atributy souborů (nebo novější). Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v ovládacím panelu Datum a čas.
   Date      Time     Version       Size       File name   -------------------------------------------------------   03-Oct-02 13:14    6.0.2722.300  2,763,264  Mshtml.dll				
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v aplikaci Microsoft Internet Explorer 6.
Další informace
K tomuto problému dochází pouze po inicializován MSHTML. To znamená, že pokud otevřete dokument MSHTML (například dokumentu aplikace Word nebo jiného typu dokumentu server aktivního dokumentu) při příštím otevření souboru HTML reinitializes MSHTML globální stylů s poskytovanou v IDocHostUIHandler::GetHostInfo implementace.

Postup reprodukce problému

  1. Vytvořit v aplikaci Visual Studio .NET Microsoft Foundation Classes (MFC) Single Document Interface (SDI) CHtmlView aplikace.
  2. Přidání proměnné členů třídy zobrazení, která bude podržte aktuální globální stylů:
    class CMFCTestView : public CHtmlView{...	LPWSTR m_pZoom;...};
  3. Inicializovat členské proměnné list počáteční styl, který chcete v konstruktoru:
    CMFCTestView::CMFCTestView(){	m_pZoom = L"BODY{Zoom:200%;}";}
  4. Přepsat funkci virtuální OnGetHostInfoCHtmlView implementovat kód použít globální stylů prostřednictvím metody GetHostInfo. IDocHostUIHandler::GetHostInfo implementována v CHtmlControlSite a volá metodu OnGetHostInfo používá v zobrazení.
    // header fileclass CMFCTestView : public CHtmlView{...virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);...};// implementation fileHRESULT CMFCTestView::OnGetHostInfo(DOCHOSTUIINFO *pInfo){	pInfo->pchHostCss = (LPWSTR)::CoTaskMemAlloc((lstrlenW(m_pZoom)+1)*2);	lstrcpyW(pInfo->pchHostCss, m_pZoom);	return S_OK;}
  5. Přidání nabídky zboží a jeho popisovač CHTMLView odvozené třídy. V nabídce popisovač volání metody IWebBrowser2::Refresh(). Nové globální stylů IWebBrowser2::Refresh() se vztahuje na aktivní webové stránce.
    void CMFCTestView::OnActionTest(){	m_pZoom = L"BODY{Zoom:50%;}";	m_pBrowserApp->Refresh();}
  6. Metoda OnInitialUpdate zobrazení přejděte na stránku test HTML aktualizace:
    void CMFCTestView::OnInitialUpdate(){	CHtmlView::OnInitialUpdate();	Navigate2(_T("http://myserver/mytestpage.htm"),NULL,NULL);}
  7. Sestavit a spustit aplikaci. Při prvním zobrazení stránky vše zobrazí zvětšenou 200 procent.
  8. Pomocí nabídky Akce, které jste přidali použít nový styl. Bez opravy hotfix, aktualizací stránky, ale zvětšení zůstane stejné. Po instalaci opravy hotfix stránka aktualizuje a zobrazí se s 50 procent zvětšení.

Upozornění: Tento článek byl přeložen automaticky

Vlastnosti

ID článku: 328803 - Poslední kontrola: 02/03/2014 06:22:11 - Revize: 1.5

  • Microsoft Internet Explorer (Programming) 6.0
  • kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbwebbrowser kbhtml kbie600sp2fix kbie600presp2fix kbfix kbbug KB328803 KbMtcs
Váš názor