Click here to Skip to main content
12,065,204 members (42,158 online)
Click here to Skip to main content
Add your own
alternative version

Stats

130.3K views
24 bookmarked
Posted

Find in CWebBrowser Control

, 10 Aug 2000
Rate this:
Please Sign up or sign in to vote.
How to display the "Find" window in a CWebBrowser control.

Introduction

An application that I had been assigned to write, required me to display reports that could possibly be over 10,000 lines in a CWebBrowser control. These 10,000 lines sometimes took a matter of hours to produce, so it was decided that it would be nice to display the report as it was generated, line by line. Being reasonably new to COM, I posted the question "How?" in the CodeProject message area. Along came Colin Davies, with a bit a code. In a 10,000 line report, it can take the user a lllloooonnnngggg time to find what they are looking for!

IE5 has the Edit - Find (on this page)... CTRL+F option that searches the current page. So I investigated implementing this in my CWebBrowser control, and found it was not as easy as it had first sounded to a COM newbie. Anyway after searching some rather confusing MSDN articles I hacked some code to produce this code slice, which can also be modified to display the View Source and Options windows as well.

Source listing

#include <initguid.h>
DEFINE_GUID(CGID_IWebBrowser,0xED016940L,
            0xBD5B,0x11cf,0xBA, 0x4E,0x00,
            0xC0,0x4F,0xD7,0x08,0x16);

//1 : FIND, 2: VIEWSOURCE, 3 : OPTIONS
DWORD nCmdID = 1; 

LPDISPATCH lpDispatch = NULL;
LPOLECOMMANDTARGET lpOleCommandTarget = NULL;

//m_htmlview is the member variable 
//for the CWebBrowser2 control.

lpDispatch = m_htmlview.GetDocument();
ASSERT(lpDispatch);

// Get an IDispatch pointer for the 
// IOleCommandTarget interface.
lpDispatch->QueryInterface(
        IID_IOleCommandTarget,
        (void**)&lpOleCommandTarget);
ASSERT(lpOleCommandTarget);

lpDispatch->Release();

// Invoke the given command id for 
// the WebBrowser control
lpOleCommandTarget->Exec(
        &CGID_IWebBrowser, nCmdID, 0,
        NULL, NULL);

// Release the command target
lpOleCommandTarget->Release();

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Jeremy Davis
Web Developer
United Kingdom United Kingdom
Is was a hardware engineer, that wrote the odd bit of MFC software. I am now training to become a technology teacher for 11 - 19 year olds.

You may also be interested in...

Comments and Discussions

 
GeneralHandle to this dialog Pin
will07070721-Sep-07 10:31
memberwill07070721-Sep-07 10:31 
GeneralApplet in WebBrowser Pin
colin-12313-Sep-06 0:49
membercolin-12313-Sep-06 0:49 
QuestionHow Can this be used IN C# Pin
jdnx21-Apr-06 23:16
memberjdnx21-Apr-06 23:16 
General10x Pin
cata_100026-Sep-05 9:15
membercata_100026-Sep-05 9:15 
GeneralSave as &quot;Web Page, complete&quot; Pin
leuven2-Jun-04 23:19
memberleuven2-Jun-04 23:19 
GeneralRe: Save as &quot;Web Page, complete&quot; Pin
Ickis15-Jun-04 2:42
memberIckis15-Jun-04 2:42 
GeneralRe: Save as &quot;Web Page, complete&quot; Pin
drake2830-Dec-04 6:02
memberdrake2830-Dec-04 6:02 
Questionhow to navigate to HTML page from resouces Pin
george ivanov18-Dec-03 3:54
membergeorge ivanov18-Dec-03 3:54 
AnswerRe: how to navigate to HTML page from resouces Pin
Jeremy Davis18-Dec-03 4:47
memberJeremy Davis18-Dec-03 4:47 
QuestionCan I use it with CHtmlView Pin
Naren7-Sep-02 3:39
memberNaren7-Sep-02 3:39 
AnswerRe: Can I use it with CHtmlView Pin
mmori14-Mar-04 12:23
membermmori14-Mar-04 12:23 
QuestionHow can I get the HTML text from Webbrowser Control ? Pin
Hiroshi2-Oct-01 3:23
memberHiroshi2-Oct-01 3:23 
QuestionHow can I get the HTML text from Webbrowser Control ? Pin
Hiroshi2-Oct-01 3:22
memberHiroshi2-Oct-01 3:22 
AnswerRe: How can I get the HTML text from Webbrowser Control ? Pin
pawlb24-Oct-02 12:50
susspawlb24-Oct-02 12:50 
GeneralThe arguments to the find method Pin
Tim Ford4-Jun-01 1:42
memberTim Ford4-Jun-01 1:42 
GeneralRe: The arguments to the find method Pin
Jeremy Davis26-Jul-01 0:27
memberJeremy Davis26-Jul-01 0:27 
QuestionGet explore device context..? Pin
donghun lee22-Mar-01 19:53
memberdonghun lee22-Mar-01 19:53 
GeneralRight button -->> IE pop-up menu Pin
Anonymous25-Feb-01 8:16
memberAnonymous25-Feb-01 8:16 
GeneralRe: Right button -->> IE pop-up menu Pin
Jeremy Davis16-Mar-01 4:00
memberJeremy Davis16-Mar-01 4:00 
GeneralRe: Right button -->> IE pop-up menu Pin
Biri5-Jun-01 4:01
memberBiri5-Jun-01 4:01 
GeneralRe: Right button -->> IE pop-up menu Pin
KaЯl3-Jan-03 4:09
memberKaЯl3-Jan-03 4:09 
GeneralRe: Right button -->> IE pop-up menu Pin
Jeremy Davis22-Aug-01 23:49
memberJeremy Davis22-Aug-01 23:49 
Questionhow i can use it? Pin
jaims15-Aug-00 17:12
sussjaims15-Aug-00 17:12 
AnswerRe: how i can use it? Pin
Jeremy Davis22-Aug-00 0:44
sussJeremy Davis22-Aug-00 0:44 
GeneralSave As Pin
Brian Hart14-Aug-00 20:17
sussBrian Hart14-Aug-00 20:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.160204.4 | Last Updated 11 Aug 2000
Article Copyright 2000 by Jeremy Davis
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid