Friendly GUI for windows building?

  • Thread starter Francois Guillet
  • Start date
F

Francois Guillet

Hi

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 was provided in environments like C++ builder, but I'm searching
for a more light tool that would generate simple cpp and h files to
include in my project and that wouldn't need an obscure and heavy
library (I'm using codeblock/gcc/mingw).

Some advises?

Thanks
 
S

Stefan Ram

Francois Guillet said:
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.
 
A

Alf P. Steinbach

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 was provided in environments like C++ builder, but I'm searching
for a more light tool that would generate simple cpp and h files to
include in my project and that wouldn't need an obscure and heavy
library (I'm using codeblock/gcc/mingw).

Look for "Resource Editors". These generate dialog resources and header
files. It's pretty old technology but sounds like what you're after.

A dialog can be main window.

You can create such a window from a dialog resource embedded in the
executable, by calling e.g. the DialogBox API function.


Cheers & hth.,

- Alf
 
D

David Brown

Hi

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 was provided in environments like C++ builder, but I'm searching
for a more light tool that would generate simple cpp and h files to
include in my project and that wouldn't need an obscure and heavy
library (I'm using codeblock/gcc/mingw).

Some advises?

Thanks

What about using wxWidgets rather than raw Windows API? I don't know
where you draw lines for "heavy" and "light" libraries, but wxWidgets is
certainly not obscure - and there is very good support for it in
Code::Blocks.
 
I

Ike Shaffer

Mr said:
wxWidgets looks too much like MFC making it a bag of shite like MFC is a
bag of shite.

Try Qt; it is the least worst option.

Yes, and pay for the shit as well. I guess he goes back to CreateWindowEx
 
I

Ike Shaffer

Mr said:
Your repeated requests to stop fucking swearing will ALWAYS be ignored
so you may as well stop requesting it.

Well, this is not right fible, you need to pay for that qt shit in anycase,
otherwise you may not distribute your compilation. You are an idiot,
 
I

Ike Shaffer

Mr said:
Well, this is not right fible, you need to pay for that qt shit in
anycase,
otherwise you may not distribute your compilation. You are an idiot,

You are a tool.

"Qt is available under the following copyright licenses:[42]
GNU LGPL[4] 2.1 version with Qt special exception GNU GPL[43] 3.0
version Commercial Developer License[5]"

Now go learn what LGPL is, you idiot.

Why, can't you read "Commercial Licence"? Idiot.
 
I

Ike Shaffer

Mr said:
You don't have to accept the commercial licence, idiot. You can accept
the LGPL licence, idiot.

You mean I need to read that crap first. That spoils the fun, since it
would tell me I may not distribute the compilation unless paying a big bag
of money to them.

They are from Finland, they all are gays.
 
I

Ike Shaffer

Mr said:
LGPL lets you distribute your application (and the other party's DLLs)
free of charge, idiot.

Not if you letter charge for your efforts, imbecile.
 
I

Ike Shaffer

Mr said:
LGPL lets you distribute commercial proprietary software (i.e.
chargeable) linked with the other party's LPGL DLLs (for free), idiot.

Then you contradict yourself, making the "Commercial Licence" invalid,
asshat.
 
I

Ike Shaffer

Mr said:
There is no contradiction, idiot. The commercial licence is totally
separate to and what it offers is different to the LGPL license, idiot.
You can choose one or the other, idiot. The LGPL licensed Qt has no
charge, idiot; but you can charge for *your* software, idiot.

Then I guess you can skip reading that LGPL manifest and just send an e-
mail to them, telling that you intend to use their crap, and make big
money.

Let them call you an imbecile! LOL

You are a wise man flib :)
 
I

Ike Shaffer

Mr said:
I've decided that as well as being an idiot you are also a troll so
welcome to my killfile.

Ohh yes, you lost the debate, proved as imbecile.

Just send that email, flib, tell them you won't register nor pay a shit.

Let them conclude this discussion. No need need for their LGPL reading.
 
Ö

Öö Tiib

Ohh yes, you lost the debate, proved as imbecile.

Just send that email, flib, tell them you won't register nor pay a shit.

Let them conclude this discussion. No need need for their LGPL reading.

It is perfectly legal to use dynamically linked Qt in commercially
(or how ever you want to license it) distributed application. There are
only such limitations:
1. Your application must be dynamically linked to the Qt components that
came with your downloaded LGPL Qt distribution. No static linking allowed.
2. You can’t make changes to the Qt source code itself and sell your
application based on the changed version of Qt.
3. You must inform users of your application that Qt is used in the
application in some licence text or in a readme somewhere within your
distributed application files.
4. You must provide a copy of the Qt LGPL licence file together with your
distributed application files.

These things above can't be show stopper problems.

The biggest annoyance with Qt is that it tends to create large binaries.
Lesser annoyance is that it uses custom preprocessors that do not
understand too well C++ (particularily templates and preprocessor) and
other tools tend also not to understand Qt crap (underlining it red
and reporting errors).
 
D

David FLEURY

Le 04/01/2014 11:51, Francois Guillet a écrit :
Hi

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 was provided in environments like C++ builder, but I'm searching
for a more light tool that would generate simple cpp and h files to
include in my project and that wouldn't need an obscure and heavy
library (I'm using codeblock/gcc/mingw).

Some advises?

Thanks

You can give a chance to FTLK. It has not a very up-to-date look, and
can be though to learn but it is small, free, and "easy" to enhance.

There is an GUI editor (FLuid) which use drag & drop and generate code
for an window.

Regards
 
F

Francois Guillet

David Brown avait énoncé :
What about using wxWidgets rather than raw Windows API? I don't know where
you draw lines for "heavy" and "light" libraries, but wxWidgets is certainly
not obscure - and there is very good support for it in Code::Blocks.

I will have a look at your solution after testing FTKL which seems
simpler.
Thanks.
 
F

Francois Guillet

Le 05/01/2014, David FLEURY a supposé :
Le 04/01/2014 11:51, Francois Guillet a écrit :

You can give a chance to FTLK. It has not a very up-to-date look, and can be
though to learn but it is small, free, and "easy" to enhance.

There is an GUI editor (FLuid) which use drag & drop and generate code for an
window.

Regards

The first solution I will try is yours. From what I read on fltk.org,
FTKL seems to be simple and fits the requirements.
Thanks for the reply!
 
R

Rupert Miscavige

Francois said:
Le 05/01/2014, David FLEURY a supposé :

The first solution I will try is yours. From what I read on fltk.org,
FTKL seems to be simple and fits the requirements.
Thanks for the reply!

Bullshit. If they are so good, why aren't they compile a Windows binary
distributable? That they require YOU to compile their crap is the first
sign that their crap IS crap.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,243
Members
46,836
Latest member
login dogas

Latest Threads

Top