The Visual Component Framework is an advanced C++ application framework that makes it easy to produce powerful Windows applications in C++. The framework is a based on a thoroughly modern C++ design and has built in support for Rapid Application Development (RAD). The framework is designed to be portable over multiple platforms and compilers, so you don't have to lose all that work that went into writing your app for a single platform!

"You know how when someone sees something very good they exclaim 'WOW!'? Then when they see something that is truly inspiring, they say it in a very low, respectful tone? Looking at the quality and breadth of what you have here definitely puts me in the latter category."

Tom Archer - Microsoft Program Manager

If this is your first time here try reading, in more detail, about the features of the VCF by clicking here.

Further information about the VCF can be found in the documentation sections which include in-depth discussions of how to use the framework, as well as the source code generated documentation.

Would you like to help support future development of the VCF? Funding helps buy software and hardware crucial to developing a large scale framework like the VCF. For more information on what can be donated and why - click here.


News and Announcements

Some interesting work has been done with a new kit called the ImageKit. It's inspired by Apple's Core Image API, and allows you to draw images using the GPU and OpenGL to do the work for you. You can apply one or more filters to an image and chain them together to achieve various effects. There's a simple filter tester:

that allows you to test simple filters out (using OpenGL's GL Shading Language) and apply them to an image.

RTTI Attributes

News and Announcements
A while ago someone in the forums asked about attributes in the VCF. Well we now have them. They are not as integrated as C#'s attributes are, but they do allow for any kind of custom arbitrary meta-data to be attached to RTTI information about a class or a class's properties. An attrbiute is defined as a name value pair, where the name is a string and the value is a VariantData object, probably representing a string most of the time. You can add them programmatically or via the RTTI macros. An example would be:

Graphviz Kit Integration

News and Announcements

I have recently, on a lark, decided to give a try to add Graphviz support to the VCF. To my pleasant surprise this was relatively painless, and I'm proud to show off some shots of currently working, with AGG rendering for anti-aliased support.

New Demos Section

News and Announcements

I'd like to introduce a new demos section, on the left hand side of the web site. These are links (and a screen shot) to actual pre-built executables for people to try out to get a taste of what the VCF can do. Probably should have put these up a long time ago, but got tied up with the whole Yahoo/Microsoft merger and getting Jerry fired (by the way, no hard feelings, OK Jerry?). I'll try and fill these in and add more as time permits.

Recent development news

News and Announcements

I haven't posted here in a bit, so here's the skinny on some of the latest changes to the framework. I've made some decent progress with migrating the Carbon OS X code base to Cocoa, Cocoa is actually, for the most part, much less hassle to use.