The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

A GUI dream?

Programming for Web browsers is simple and fun. Programming for one or the other GUI evironment is awkward. So what I would like is something like an RTF component but with full HTML support, ie I would like to throw in a couple of browser boxes in my app and then feed them a simple subset of HTML code for formatting (pictures, lists, coloured tables and bla bla) and getting all clicks back. But I can not find any such stuff on the web.

Anybody knows If something like this exists? I can't see any reason it would not help many developers immensely.

Andy H
Anders Holtsberg Send private email
Monday, May 28, 2007
One of the goals of Windows Presentation Foundation was to bring the markup-style programming of HTML to the desktop.

You have to learn a new widget set, but there's a ton of cool things you can do with WPF.
Chris Tavares Send private email
Monday, May 28, 2007
Sounds like good old VB to me.
Monday, May 28, 2007
Maybe I misunderstand the question, but couldn't you just embed the IE ActiveX control in your app?

BTW, I disagree with your first two sentences, but, I know they have some truth to them in some corners of the universe, and it's kind of a pointless argument to have.
Greg Send private email
Monday, May 28, 2007
WPF looks really cool! In a few years this will sure be a delight to work with.

> embed the IE ActiveX control

Is this a resanable way to go? And how is it fed the html code I generate dynamically? How do I get the clicks back? Preferrably not by embedding a web server in my app that listens to a localhost port, rather as a GET method in a fake url string to a callback function or something. Is this what people do? (Excuse my rudimentary knowledge but please educate me and give a recommended reading hint)

Andy H
Anders Holtsberg Send private email
Monday, May 28, 2007
Yes, basically you pass a bunch of HTML for the control to display and it gives you back the data/button/hyperlink that the user provided.  Mozilla has a browser control too if you don't want to be tied to IE.  As a long-term direction I would look at WPF - apps that host the browser controls have a bit of an odd feel to them, IMO - is it a browser? is it a desktop app?
Mike Stockdale Send private email
Monday, May 28, 2007
Microsoft did this years ago.  That was the whole point of integrating IE with the OS.  Around the time of Windows 98, you could drag Spy++ around and find "Internet Explorer" everywhere -- Explorer, settings dialogs, wizards, etc..  You could customize the Explorer view for a given folder by editing an HTML file.  There's an API call ShowHTMLDialog that lets you build dialogs for your application using HTML.  I seem to recall the Internet Settings control panel using this in the past as well as any other dialog in Internet Explorer.  Microsoft tended to stick the HTML source for things like this in EXE/DLL resources -- there's a special syntax for URLs for accessing resources.  They also supported something called HTA which allowed you to build stand-alone applications from HTML.
SomeBody Send private email
Monday, May 28, 2007
> Anybody knows If something like this exists?

I'm writing one (for .Net). I don't know that it would "help many developers immensely" though.

Usually, people who want to render HTML embed a web browser component.

> give a recommended reading hint

I'm not sure, but possibly
Christopher Wells Send private email
Monday, May 28, 2007
Search the Articles at and you'll find articles on using MSHTML. It is reasonably straighforward and quite powerfull. I use it in Surfulater to good affect.
Neville Franks Send private email
Tuesday, May 29, 2007
You mean something like this?

Christof Schardt Send private email
Tuesday, May 29, 2007
Armed with the info you nice people gave me I found the answer to my dreams. Here it is: we use Delphi, so there is a component called TWebBrowser that packages MSHTML.DLL and stuff. But this does not give back every user click in a simple way but passes it to JavaScript like in a nomal browser. However, there seems to be a third party thing called THtmlViewer that does exactly this: passes clicks directly to the app. This was the answer for me right now. Thanks to all of you.
Anders Holtsberg Send private email
Tuesday, May 29, 2007
Write a HTML renderer.  That's what I did in C.  I wrote it not because C programming is awkward and HTML programming(?!?) is simple.  But because HTML formats the text in a free flow format and can reformat itself for different text sizes/ fonts/ languages without my doing anything.  Also it makes me separate business logic from display logic.
Donald Duck
Wednesday, May 30, 2007
You want a Web Enabled Technology, or WET for short.  Then you can have WET GUI dreams.
Wednesday, May 30, 2007
Take a look at Adobe Apollo
Simon Francis Send private email
Wednesday, June 06, 2007
Please take a look at Mozilla's XUL technology. May be it's what you look for.
Thursday, June 07, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz