Is there a way to create a GUI completely in C++ code?


Can you tell me where to find tutorials and books that explain how to do it?

Here is a popular tutorial. win32 api is C, not C++. You can create c++ programs that call win32 api but it isn't necessary. MFC and wxWidgets are two c++ gui libraries. wxWidgets is free and works with most compilers and operating systems. MFC is not free and restricted to MS-Windows.

Is there a way to create a GUI completely in C++ code?

Yes. I recommend using the wxWidgets toolkit at This toolkit is free and will enable you to write cross platform GUI code.

I also recommend to use ATL and WTL if you are programming for MS Windows platform.

Hello everybody,
I apologize for bursting into the conversation.

I read the win32 tutorial that Ancient Dragon talked about,it's pretty good.

I just wanted to ask one question:
If I build a program using win32 API on windows xp professional version 2002.
Will that program run correctly on other versions of windows(windows 98,windows 95,windows vista)?

Maybe -- depends on what api functions you use. When unsure what version of the os a function supports, look it up in MSDN and it will tell you. There are many functions that are either unsupported on older versions of Windows or does not exist at all. For example, UNICODE is not supported in Win95/98 so if you compiled your program for UNICODE it will not run on either of those versions of MS-Windows.

Thank you.
I understand the story with the older versions of windows(it's actualy pretty logical, isn't it : ) ).
And if I understand correctly the more recent versions should
support all the functions that their predecessors supported( vista should support all the api functions that xp supported), am I right?

Yes, you are right. The more basic UI you will create the more chances that it will work on all versions of MS Windows.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.