• entries
    31
  • comments
    43
  • views
    61390

Artists Like the Dark

Sign in to follow this  

806 views

[size="3"] So I've spent a little while dimming the lights...

e_17a.jpg

I think it's a big improvement.

Working hard to bring procedurally generated compound leaf types. After that... occlusion shading. If you're wondering, the interface is MFC +C+. All common controls are sub classed for custom colors and bitmaps. The property grid (right) is a custom control, made by me. The color picker uses the XColorSpectrum control by Hans Dietrich. Thanks Hans.

Will post again when I have some shots of the new compound leaf nodes. The images above still use the single leaf type geometry.
Sign in to follow this  


3 Comments


Recommended Comments

I agree - the GUI looks really great. I haven't seen anyone use MFC for a nice looking GUI in a while... Would you be interested in throwing together a short description of how you did that? I know I would find it useful, and it is always hard to find a solution for building a native GUI app, so I assume other would like it too.

Just a suggestion, but it would be really great to hear more details!

Share this comment


Link to comment
Thanks for the nice words.

Honestly a lot of work went into getting MFC to do all of that. A short write up would take some time to prepare as there are so many different classes which make up the interface. I may release some of the more unique controls on my personal site at some point and then you can see how they work.

Essentially I use a Dialog based project. All panels are dialog controls with header controls (CWnd base). Background colors are set using something like:

[code]// Erase background - color dialog
BOOL Dialog_Control::OnEraseBkgnd(CDC* pDC)
{
CRect rect;

GetClientRect(&rect);

// Color background
CBrush brush(___painter_options.___color_base);
CBrush* last_brush_pointer = pDC->SelectObject(&brush);
BOOL bRes = pDC->PatBlt(0, 0, rect.Width(), rect.Height(), PATCOPY);

pDC->SelectObject(last_brush_pointer);

return bRes; // CDialog::OnEraseBkgnd(pDC);
}[/code]

First thing I do is draw what I want the interface to look like in Photoshop. Once I'm happy with the color scheme, layout, etc. I start coding it. There is a lot of information on creating owner drawn custom controls at [url="http://www.codeproject.com/KB/MFC/"]Code Project[/url].

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now