Demo Code
Demo code to accompany this article is available for download (see below). The demo includes the following:
- Two applications –
WBUIArtDemo1.exe
andWBUIArtDemo2.exe
– that include Delphi code for stages 1 and 2 of the sample application. - Separate units containing the nul and custom container classes –
UNulContainer.pas
andUContainer.pas
. IntfDocHostUIHandler.pas
that contains the declaration of IDocHostUIHandler, associated structures and all the DOCHOSTUIFLAG_ flags.
This code was written in Delphi 7 and tested on Windows XP Pro SP2 using Internet Explorer 6.
Summary
In this article we have investigated how to customize the appearance of a TWebBrowser control.
We noted that we can control the appearance and behaviour of TWebBrowser by developing a container object that implements the IDocHostUIHandler interface. In order for the browser control to find the IDocHostUIHandler implementation we also needed to implement IOleClientSite.
We first created a reusable, "do nothing" container class that provided a minimal implementation of the required interfaces. Then we derived a custom class from the "do nothing" container that provided the required customization. We also exposed properties to enable users to manipulate the browser's appearance and behaviour. Finally we developed a sample application to exercise the customizable container.
A downloadable demo program was made available that includes all the code discussed in the article.
References
The following resources from the Microsoft® Developer Network Library were used in researching this article:
Feedback
I hope you enjoyed this article and found it useful. If you have any observations, comments or have found any errors please contact me.