Re: Friendly GUI for windows building?
Francois Guillet <guillet.francois@wanadoo.fr> writes:
Creating many windows and controls is very tedious when the parameters
of the CreateWindowEx function have to be set manually.
I'm looking for a tool able to build code automatically from drag and
drop of objects (buttons, check boxes, edit controls...) onto a first
empty window, and allowing repositionning, sizing, property settings...
This seems to reduce manual work by adding even more manual work.
What I do is to use the abstraction mechanisms of C++ to actually
reduce manual work. For example, I have written some helper functions
to build Windows dialogs, so that I now can write:
void appendDialogDescription( LPWORD lpw )
{ LPWORD const lpw0 = lpw; WORD n = 0; lpw = my_dialog( lpw, 0, 0 ); int y = 0;
lpw = my_label( lpw, ( y += 10 )+ 2, ID_TEXT_0, "&Hours" ); ++n;
lpw = my_edit( lpw, ( y += 0 )+ 0, ID_EDIT_0, "0" ); ++n;
lpw = my_label( lpw, ( y += 20 )+ 2, ID_TEXT_1, "&Minutes" ); ++n;
lpw = my_edit( lpw, ( y += 0 )+ 0, ID_EDIT_1, "0" ); ++n;
lpw = my_button( lpw, ( y += 20 )+ 0, ID_START, "&Start Shutdown" ); ++n;
lpw = my_button( lpw, ( y += 20 )+ 0, ID_EXIT, "&Exit" ); ++n;
my_dialog( lpw0, ( y += 20 )+ 0, n ); }
. The full code of the program can be found at
http://www.purl.org/stefan_ram/pub/c++-windows
. (Since it was written for tutorial purposes, it should not have gotten too
complicated, therefore I am still using fixed pixel dimensions, such as ?10?
and ?20?. In a real application these would be abstracted away too.)
Actually, these means of abstraction already are available in C, C++ is not
required.
The way of the programmer.