Click here to Skip to main content
Click here to Skip to main content

Customize Web Browser ActiveX and change its inbuilt settings

By , 19 Sep 2004
Rate this:
Please Sign up or sign in to vote.

Sample application screen

Introduction:

Internet Explorer is a very powerful tool for showing all types of images (JPEG/GIF etc.) and web files (HTML, ASP etc.). This is the tool that can be used as multipurpose picture/document viewer. That's what I tried to use. But that was not the end. That was starting of my problem.

Problem:

Web Browser ActiveX has some problems when it displays Picture/Document.

  1. It shows vertical scroll bar in right side even if there is no need of that.
  2. It allows user to right click and choose Options as in Internet Explorer.

Solution:

It was very hard to find a solution to this problem, as that solution was hidden. Four main files were added in this project to solve this problem.

  1. custsite.h & custsite.cpp
  2. idispimp.h & idispimp.cpp

These files are interfaces to reach into the Web Browser Control. These classes can control the internals of Web Browser such as scroll, right click etc.

How to use (link) these classes:

Step I: Open header file of your application class. E.g.: in my sample project, it is InternetExplorerExperimentApp.h. Add the following code in the class:

class CImpIDispatch* m_pDispOM;

Step II: Open CPP file of your application class. E.g.: InternetExplorerExperimentApp.Cpp. Add the following code:

  • Add header files:
    #include <..\src\occimpl.h>
    #include "custsite.h"
  • Add code in function InitInstance() just in starting of function:
    CCustomOccManager *pMgr = new CCustomOccManager;
    // Create an IDispatch class for extending the Dynamic HTML Object Model
    m_pDispOM = new CImpIDispatch;
    AfxEnableControlContainer(pMgr);

Step III: Open Custsite.cpp and add global variable as declared in application's .cpp file, with extern.

extern CInternetExplorerExperimentApp theApp;

Step IV: Add main project header file in both files:

  1. custsite.h
  2. idispimp.h

What I did to hide scroll bar:

// * CImpIDocHostUIHandler::GetHostInfo
// *
// * Purpose: Called at initialization
// *
HRESULT FAR EXPORT 
  CCustomControlSite::XDocHostUIHandler::GetHostInfo( DOCHOSTUIINFO* pInfo )
{

    METHOD_PROLOGUE(CCustomControlSite, DocHostUIHandler)
    // Just Comment following lines & you'll see scroll bar.
    pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER;
    pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
    pInfo->dwFlags|=DOCHOSTUIFLAG_SCROLL_NO;
    return S_OK;
}

That's the end. Now, you have a direction, and if you find anything new, please let me know also. See you soon with another magic.

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

About the Author

Sumit Kapoor
Software Developer (Senior)
India India
Working in Patni Computer Systems, Noida(INDIA). I like to work in C/C++ even from my school time & mostly worked using C++, VC++, COM.
 
I want to give something bigger than biggest to IT field. Try is going on.
 
I like to make friends.
That’s all about me.
 
Ok! See you.
Have a nice Life.

Comments and Discussions

 
QuestionZoom out window Pinmembercbir systems13-May-08 20:56 
QuestionAlternative way Pinmemberfate9319-Mar-08 16:09 
Generalcompiling errors ! PinmemberJubin Chawda22-Jun-06 6:05 
GeneralRe: compiling errors ! Pinmemberprezess14-Oct-06 14:18 
QuestionPrevent Web Pages from Being Saved in Cache Pinmemberrazva15-Nov-05 22:37 
QuestionHow can I create a WebBrowser Contrl with C Pinmemberftts27-Sep-05 14:03 
AnswerRe: How can I create a WebBrowser Contrl with C PinmemberSumit Kapoor27-Sep-05 14:05 
Generalwith WCE 420 PinmemberIFranco26-Jul-05 15:25 
GeneralRe: with WCE 420 PinmemberSumit Kapoor26-Jul-05 23:18 
GeneralProblem with borders around images PinmemberVirendra Sharma2-Jun-05 5:41 
GeneralRe: Problem with borders around images PinmemberAlexander Jost25-Jun-05 23:49 
GeneralUnable to compile Pinmembervyjesh21-Jan-05 19:59 
GeneralRe: Unable to compile PinmemberSumit Kapoor23-Jan-05 19:05 
GeneralRe: Unable to compile PinmemberPaul the Great24-Oct-06 5:38 
GeneralRe: Unable to compile PinmemberDarko@Hot7-Jul-08 6:23 
GeneralWant IE And IpHelper Help Pinmembereiteit23-Nov-04 4:58 
GeneralRe: Want IE And IpHelper Help PinmemberSumit Kapoor23-Nov-04 17:15 
GeneralRe: Want IE And IpHelper Help Pinmembereiteit23-Nov-04 21:00 
GeneralRe: Want IE And IpHelper Help PinmemberSumit Kapoor24-Nov-04 19:27 
Generaliphlpapi.lib PinmemberSumit Kapoor24-Nov-04 19:38 
GeneralRe: iphlpapi.lib Pinmembereiteit26-Nov-04 7:24 
GeneralRe: iphlpapi.lib PinmemberSumit Kapoor28-Nov-04 20:18 
GeneralNot working somehow PinsussAnonymous18-Oct-04 3:02 
GeneralRe: Not working somehow Pinmembermmanyen3-Jan-05 9:31 
QuestionRe: Not working somehow Pinmembercbir systems17-Oct-07 2:43 
AnswerRe: Not working somehow Pinmembercbir systems17-Oct-07 22:47 
GeneralLink to MSDN article PinmemberCodeBrain4-Oct-04 2:55 
GeneralRe: Link to MSDN article PinmemberSumit Kapoor6-Oct-04 19:46 
GeneralMissing file : &lt;..\src\occimpl.h&gt; PinmemberJackie Fei30-Sep-04 1:04 
GeneralRe: Missing file : &lt;..\src\occimpl.h&gt; PinmemberSumit Kapoor1-Oct-04 1:36 
GeneralRe: Missing file : &lt;..\src\occimpl.h&gt; PinmemberJackie Fei3-Oct-04 19:38 
General(Run-time) alternative PinmemberRavi Bhavnani20-Sep-04 4:48 
GeneralRe: (Run-time) alternative PinmemberSumit Kapoor20-Sep-04 18:58 
GeneralRe: (Run-time) alternative PinmemberRavi Bhavnani21-Sep-04 3:27 
GeneralAny way...Thanks PinmemberSumit Kapoor21-Sep-04 23:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    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 | Mobile
Web04 | 2.8.140415.2 | Last Updated 20 Sep 2004
Article Copyright 2004 by Sumit Kapoor
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid