Re: Windows forms application without Managed Code?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



This might be a good time to consider writing your GUI code using a
cross-platform toolkit that is supported by several compilers and
platforms. Take a look at Qt and wxWidgets (Qt is commercial -- there is a
free version for Open Source work and an expensive version for commercial
projects -- while wxWidgets is free and Open Source). Another free option
(which is a little less polished than either of the above, but which has
its following) is the Fast Light Toolkit - fltk.

See :
http://www.trolltech.com/products/qt/
http://wxwidgets.org/
http://www.fltk.org/

The VCL is actually very well designed, and specifically designed to be used with a visual editor. A major advantage of the VCL is that there are a large number of non-visual components that range from database access to printing support.

The MFC visual editor is purely for the base visual controls. Any additional controls will need to be coded by hand (similar to creating VCL components without the visual editor, e.g. TSomeComponent.Create(this) inside a constructor). You will find that the "Dialog" model of MFC GUI design most closely mirrors the functionality of the Borland IDE. There will be an "application" class built for your application that boot-straps the app, like the project-view-source option inside Delphi. Basically an initialization section that starts up your main form. Then you'll have the form dialog code that is the raw code behind the visual form. Coming from the Borland world, start here. Don't try to go with the MVC document model yet as it's a pretty steep learning curve. MFC also has some great third party component vendors (http://www.codejock.com) that should make your port that much easier.

Regarding Qt, they have a great form designer. The Qt object model requires a precompiler to build out their signals/slots model and I'm not really keen on that, though it works well for them and keeps the code simpler. Coming from the Borland world, you're probably used to a huge number of third-party components. Forget about that in the Qt world. There aren't very many component vendors that target the Qt framework. (A few, but not like the hundreds in the VCL camp.) My biggest gripe about Qt is the raw cost of the toolset. A single platform single developer license is like $3300. Since you get MFC with Visual Studio at $450, I don't see the additional value in spending $3300 for the toolkit on one platform. If cross-platform is why you choose the toolkit, find, but then your license goes to over $5000. I just don't like that.

On wxWidgets, the form designers that are available are mediocre. There are fewer third party component vendors for wxWidgets than Qt. Beyond that, the component set feels a little, well, sloppy, compared to the VCL. YMMV.

I've never used fltk.

HTH,
Eric
.



Relevant Pages

  • Re: wxDesigner
    ... If you only need to work with one platform, and are happy to lock yourself to it in the future, then by all means consider a platform-specific toolkit. ... Is there something you know that the huge numbers of wxWidgets users don't know? ... One is that allocations can take unexpectedly long times, and the other is that they can fail even when you have enough memory, because it is not contiguous. ... GTK into the mix (layer upon layer upon layer... ...
    (comp.arch.embedded)
  • Re: wxDesigner
    ... advantage to using wxWidgets over using the underlying toolkit directly. ... There is an Xlib backend and a framebuffer backend, ...
    (comp.arch.embedded)
  • Re: Tk in comparison to other portable toolkits
    ... WxWidgets for the most part seems well implemented. ... At least it was the case last time I looked at Python. ... the toolkit may not be the only parameter of the ... Python preferred over Tcl/Tk for some people? ...
    (comp.lang.tcl)
  • GUI Apps with PHP
    ... Does anyone know if it's possible to use the wxWindows / wxWidgets ... toolkit within a PHP application. ... I have noticed that generally for most Open Source apps they seem to ... Is it possible to use SWT with PHP, or is that only a Java solution? ...
    (comp.lang.php)
  • Building GUI Apps with PHP
    ... Does anyone know if it's possible to use the wxWindows / wxWidgets ... toolkit within a PHP application. ... I have noticed that generally for most Open Source apps they seem to ... Is it possible to use SWT with PHP, or is that only a Java solution? ...
    (php.general)