tags:

views:

1235

answers:

11
+3  A: 

I would advise to have a go at using a TWebBrowser component on a form (with Align=alClient), and doing most UI using HTML/CSS. There are a number of tricks to load content into the TWebBrowser, such as using "res://" URL's loading resources that have been included in the excutable.

By adding the MSHTML unit to the uses clause, you can use IHTMLDocument2 and related interfaces on the WebBrowser1.Document property to manipulate the DOM, much like Web2.0 websites do these days.

Stijn Sanders
If you like this approach and would have no problem running your application from within an Internet Explorer instance, have a look at this project I started, which implements IInternetProtocol: http://xxm.sourceforge.net/
Stijn Sanders
Right, but it's not the same as manipulating each components directly in the application (events on the components for example). Moreover, it becomes dependent of IE and doesn't allow any eye candy.
Using a WebBrowser component will work just fine for what you want to do. You will end up with effectively two apps, an HTML+Javascript+CSS UI and then a back end Delphi App. MVC style design recommended!
Christer Fahlgren
Well, yes, perhaps now I can get it what it is that the MVC-hype is about. Could you tell me more about what it takes to do 'MVC style design' in this case? Don't answer here, I've posted a new question: http://stackoverflow.com/questions/1278725/what-does-an-mvc-delphi-with-webbroser-and-html-application-look-like
Stijn Sanders
A: 

try TwinForms, http://www.twinforms.com/products/wxformsdelphi/index.php

"....wxForms for Delphi is an integrated form designer plugin for CodeGear Delphi that helps you to create cross platform applications for Windows Mac OSX and Linux using single source base.

wxForms code from Delphi can be compiled in Mac OSX and Linux without much change using FreePascal/Lazarus.

wxForms allows you to use all of Delphi's powerful Form Designer/ Editor features (Form Alignment, Object inspector, Component Palette etc ) to quickly create Cross platform applications. Components can be easily customized by modifying their properties in the object inspector.

wxForms for Delphi is the only wxWidgets Form designer that allows you to do form designing, code editing and debugging in one single place"

RRUZ
wxWidgets wraps the standard Windows controls and has some generic controls in addition. It provides no rich UI elements, doesn't support per-pixel alpha, and isn't skinnable. It's not at all like Adobe Air.
mghie
It's not what I really want ! I would like to have something that can be used to create GUI with rich elements and not any windows components.
+4  A: 
Neftalí
I've tried most skin packages that are shown on Torrys, but none of them support advanced drawing on form. It's for example impossible to create an UI like MacOS X (with smooth border, shadow arround the form, etc...).
+5  A: 
Mohammed Nasman
Hi ! I've already checked VGScene - it seems to be the closest framework for making what I would like. But unfortunately, VGScene seems quite new and not very well documented and the way it works is quite different from the VCL. I will check the latest release, thanks !
A: 

Perhaps you should just draw the form yourself from onpaint ? (and handle all mouse, keyboard and focus issues)

Just make you own mini-framework. Delphi is object oriented so it's a good tool for the job. I'm sure you can make it blitzing fast with a bit of help of GR32.

mliesen
Yes, I've started doing this with GR32 - but it's much more works and harder to design a form.
A: 

How about using Delphi's .NET interface. The .NET GUI is considered less windowy and might give you what you want fairly easily.

Here's an example of what a .NET GUI application can look like.

Delphi does have its own VCL for .NET, which can use .NET controls instead of Windows controls.

Alternatively, you can try the JEDI VCL for Delphi at Sourceforge. It's free, has over 600 components, and many can give you some different non-windows looks.

lkessler
.NET is based on GDI/GDI+ native widgets afaik, and is not owner drawn.
Marco van de Voort
Actually lkessler example points to a WPF example, and that is not nativ controls. WPF is a VERY GOOD match for the requirements in this question if you skip the "Delphi 2009" part.
mliesen
+2  A: 

Look at ExpressSkins™ Library from DevExpress. The even have a built in Mc skin.

ErvinS
+1  A: 

Ok, so as far as I see your ONLY option is actually to use VCL, but not plain VCL, as it comes with Delphi, but use some components library. The library you need must be highly customizable and have support for skins. I think the solution for you is Developer Express. Those components suit your needs:

  1. Fully customizable, with a lot of support for skins and they look very different from classic windows GUI.
  2. DevExpress usually cares about consistency between user environments – for example their web controls look the same in IE, Firefox and Opera. The same rule will apply to windows controls – they will look the same in various versions of Windows. At least – you will have control over appearance of your forms in different versions (in plain VCL you do not have control).
  3. Excellent support and frequent updates make you comfortable – they are fixing bugs quite fast and feature requests are taken into consideration.
smok1
Thanks for your answer ! I've already checked DevExpress components, but unfortunately like most skin components - it relies on Windows XP themes. It's quite old and doesn't support much features (no per-pixel alpha, no effects, no transition, etc...). Using DevExpress is like using enhanced componets and changing your theme on Windows with a utility like Windows Blind. It's not possible to create GUI like MacOS X or KDE.
@Ariel R: ok, so keep trying, hope you will find something useful for you :)
smok1
A: 

If you have time, wait for Delphi 2010, it will have Touch and Direct2D support where you can create complex GUI interfaces with a high end quality.

Also you can try to contact with the people of CrossGL http://www.crossgl.com/cgl_about.htm

They have a powerfull delphi vector based framework, they were selling it (for a high price) for some time. But I think they are making more money selling applications based on their framework.

Francis Lee
It doesn't seem to be an available frameworks. I'll try to take a look at it ! Thanks !
A: 

Have you looked at SpTBXLib? I know of a couple skin editors that you can create your own skins for SpTBXLib. You can download a precompiled demo here:

http://www.silverpointdevelopment.com/sptbxlib/downloads.htm

Bob S
A: 

I hope you are not expecting people to use such an application. As they wont. There are no end users who want to see a custom appearance. Skinning is a hobby for programmers who have too much time on their hands and not enough user interface design experience

Stephan Eggermont