How to customise the TWebBrowser user interface (part 6 of 6)

Demo Code

Demo code to accompany this article is available for download (see below). The demo includes the following:

  • Two applications – WBUIArtDemo1.exe and WBUIArtDemo2.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 and UContainer.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.

This source code is merely a proof of concept and is intended only to illustrate this article. It is not designed for use in its current form in finished applications. The code is provided on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. The source code is released under the same Creative Commons license as this article – see the bottom of this page for details. If you agree to all this then please download the code using the following link.

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 LibraryOffsite icon 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.

posted @ 2008-10-15 10:24  Max Woods  阅读(353)  评论(0编辑  收藏  举报