Vraag : Hoe te om het Web Brwoser ActiveX van Microsoft contorl in MFC te scrollen

Ik heb Browser van Microsoft de controle van ActiveX op mijn dialoogdoos opgenomen. Ik gebruik het als statusvenster om logboeken te tonen. Ik wilde pas in groen tonen en ontbreek in rood, zo wordt beslist om het te gebruiken aangezien de kleurencodage met HTMLtags.
I behoefte eenvoudig is om de gebruiker de recentste gegevens te tonen altijd, zodat zou het aan het recentste logboek moeten scrollen d.w.z. eind van het dossier telkens als een nieuw logboek dat rcvd is. Hoe kan ik dat doen?

I heeft een lidvariabele in dlg klasse van CExplorer. Gebruikend Navigate2 (...) om HTML file.

Thanks…
vooraf te openen

Antwoord : Hoe te om het Web Brwoser ActiveX van Microsoft contorl in MFC te scrollen

Ik wilde het zelfde ding doen.  Ik vond de volgende code een tijdjerug, nog werkt het.  Het veronderstelt uw browser voorwerp m_wndBrowser is.  Bron: http://www.fruitfruit.com/vc/ie/iehtml.cpp

HTH
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
HRESULT u = S_OK;
LPDISPATCH pDispatch = m_wndBrowser.get_Document ();
als (pDispatch! = VERKLAAR) nietig
{
	IHTMLDocument2* pHtmlDoc=NULL;
	u = pDispatch->QueryInterface (__uuidof (IHTMLDocument2), (nietige **) &pHtmlDoc);
	IHTMLWindow2*  pWindow;
	als (pHtmlDoc! =NULL)
	{
		u = pHtmlDoc->get_parentWindow (&pWindow);
		pHtmlDoc->Release ();
	}

	BEWEER (VOLGEND (u));
	lange docheight=0;
	IHTMLElement* pe=NULL;
	pHtmlDoc->get_body (&pe);
	IHTMLTextContainer* pe2=NULL;
	als (pe! =NULL)
	{
		pe->QueryInterface (&pe2);
		pe->Release ();
	}
	als (pe2! =NULL)
	{
		pe2->get_scrollHeight (&docheight);
		pe2->Release ();
	}
	als (pWindow! =NULL&&docheight>0)
	{
		pWindow->scrollTo (0, docheight);
		pWindow->Release ();
	}
	pDispatch->Release ();
}
Andere oplossingen  
 
programming4us programming4us