C++ UI alternatives in visual studio 2013 - c++

C# is my primary language, I want to learn C++ but with windows form or any GUI, just not console. I read that they took windows form out of visual studio 2013 for C++. Are there any alternatives or workarounds? How are people making UI based C++ programs in vs 2013 now? I found this but it feels like a jerry rigged approach http://www.bogotobogo.com/cplusplus/application_visual_studio_2013.php. I would like to use VS 2013 and UI forms somehow.

There answer is there is no native solution. You'll need to use an open source framework like Qt, wxWidgets, etc. I would recommend Qt, as it does have an LGPL license option and their form builder integrates within Visual Studio.

You can use Code to gui which is easy to setup and use with Visual Studio and c++. Although it doesn't gives too many gui features like qt as of now but seems like a great option for learning c++ with basic form builder gui.
PS: It internally uses wxwidgets so you can also re-program it's internally generated files to make complex guis.

Related

Rich gui in MFC/C++ application

we have once application build using MFC/C++. We want make the bit rich UI like VS 2010 or outlook etc... at last we want give new look to our app like Microsoft does on every release of their products.
Please suggest me to topic that i need to look into or suggest me the option for the same.
If you're using Visual Studio 2010 or higher, the MFC application wizard itself will generate UI like VS 2010 with tabs and docking windows. In fact you can create an application that looks like VS 2010 without writing a single line of code. There is also support for the ribbon control which has replaced the menus in the new office applications.
As I am assuming you are going to use C++/native code, MFC is still the way to go or you can choose the WTL also. If you are ready yo go to a totally different direction then QT is one of the most advanced and modern cross platform library. MFC feels old compared to QT. AFAIK you can not use ribbon control in QT without microsoft license.
Another option is to go to managed way, you can use WPF with C#.
As already mentioned, you can use the new classes in the MFC feature pack, which came with Visual Studio 2008 Service Pack 1.
MSDN provided a tutorial how to migrate an old MFC application to the new MFC feature pack classes here: http://msdn.microsoft.com/en-us/library/bb983935%28v=vs.90%29.aspx

Do I have to use "Visual" C++ in VS 2008?

I am new to Visual Studio 2008 (.NET Framework 3.5) and am Developing a Windows Form application.
Starting the IDE, the only options for a New Project are under the categories:
Visual Basic
Visual C#
Visual C++
I did Visual C++ -> CLR -> Windows Forms Application
However, the template code is in the "Visual C++" syntx.
How do I create a new GUI project with plain vanilla C/C++ using Visual Studio 2008?
Please note, the last time I did this was with MFC in Visual Studio C++ 6.0
If I am missing the underlying principal please explain.
Thank You!
Example: http://msdn.microsoft.com/en-us/library/ms235634%28v=vs.90%29.aspx
Long story short - you cannot.
Windows Forms is a .NET framework and not a C++ framework. This in turn means that you cannot use C++ to work with it. What Microsoft did is invented their own language that is C++-ish, but compiles into CLI bytecode (likely with native code mix-in, but I am not sure). Before it was "Managed C++", now it is C++/CLI (what you have linked as an example is not C++, but C++/CLI).
For plain C++ projects you have to choose "Win32 Project", "Win32 Console Application" or "Empty Project".. But then you cannot work with Windows Forms. Your options would be to use other GUI libraries like GTK, Qt, WxWidgets. There are tons of GUI frameworks. Or perhaps you would prefer sticking with Win32 API. My personal choice is Qt. And no Visual Studio at all.
Hope it clarifies things a bit for you. Good luck!
The "Visual" is just the name of the product. It's not a different language. c++/cli however, is a different language, and that's what you're seeing. If you want to make a Windows Form application, you will have to use .net. C++/cli is a .net language, C++ is not. You can make actual C++ applications with Visual C++, just not Windows Form applications.
First, there is no such thing as "Visual C++", in terms of a language. There is C++/CLI, which is a sort of variation of C++ that has extensions for building .NET libraries and programs using a C++-like language.
Windows Forms is a technology based on the CLR: common language runtime. AKA: .NET. You cannot build a Windows Forms application with just ISO C++. At some point, you have to talk to the CLR, which is at minimum going to require some COM support. And you'd probably be better off with C++/CLI and doing it that way.
Visual in this case means Windows Programming. And that include designing GUI (Graphical User Interface) for your application which will work in Windows environment. The language itself is C++.
You have two options available to develop Window Application.
Use Window API's only
Use a frame such as MFC,WPF etc
The language is always C++ but it has accommodation for Windows and therefore Visual C++.
Btw if you want plain C/C++, choose Visual C++ and start a console application. Make sure you select empty project.

Creating windows forms application in C++ (w/o .NET)

I would like to create a windows forms application in C++, but I don't want to use .NET framework.
I also don't want to code everything from scratch. I'd like to have a toolbox such as the one in Visual Studio. Could you recommend some editor/compiler for this task?
Any help would be greatly appreciated!
You might want to look up MFC or the Qt framework. both have a nice GUI editor and integrate with visual studio (MFC actually comes with visual studio)
Winforms is a strictly .NET thing so whatever you do, it won't be Winforms.
in the C++ world many frameworks to develop GUI layer exist,and if your application must be cross platform the popular choice could be wxWidgets or Qt,and I suggest you Qt.
If you are Pro Microsoft you have WTL and MFC and I suggest you WTL.

Using Visual C++ for C++ instead of C++/CLI

I know how to program in C++ making console programs, but now I want to code programs with interfaces for Windows. MS VS 2010 makes things easy when coding C++ Windows applications with its drag & drop design system. (.net Framework) However, Visual Studio seems to use C++/CLI, which I'm unfamiliar with.
Is there for an IDE which only uses C++? Is there any good IDE with an easy to use GUI designer, or can I tweak VS 2010 to not to use C++/CLI?
Visual C++ is perfectly happy to not use C++/CLI syntax, in fact it works even better without it.
Just set "Use of .NET Framework (/clr)" setting in your project options to "No". Or use the "Win32 Application" wizard when creating your project to begin with.
The "native" version of the Forms Designer is called the Dialog Editor and it works much the same way -- you can select textboxes and buttons and things from a palette and drag where you want them in your window.
The best RAD C++ tool, which also happens to accept unmanaged C++ is "CodeGear C++ Builder"
How about Qt Creator - IDE for Qt? http://www.qt.io/ide/

Visual C++ Development

I'm learning C++, and know a little bit of Visual Basic and an Delphi.
But I want to know, is there some program like Delphi, but for C++. Something where you can drag a button to a form, double click it, the like in Delphi and VB: opens a code editor and you edit the code of the button, but with a similar code of C++?
I'm using Windows Vista.
Yes, if you use MFC within Visual Studio.
MFC is Visual Studio's C++ class library for writing Windows programs, and for an MFC form Visual Studio behaves exactly as you describe.
As of Visual Studio 2008 with an upgrade pack you can create Office 2007 style applications, and Visual Studio style applications, using MFC.
There used to be "C++ Builder", a C++ version of Delphi, I don't know if this product is still being developed or not.
UPDATE: to summarize information from the comments, C++ Builder is actively developed and the product page is http://www.embarcadero.com/products/cbuilder/
You can have the following IDEs with GUI designers for free;
Visual Studio 2008 express from Microsoft
Qt Creator from Nokia
Eclipse with Qt plugin from community :)
C++ Builder from Embarcadero
(previously CodeGear, previously
Borland)
Have fun with C++!
There are other packages besides MFC that do GUI stuff, but I don't think they plug-in to Visual Studio. I must confess, I have never been a fan of MFC. I find it ugly and painful, so I can't really recommend it.
Qt has a designer, as does GTK. I haven't used the Qt designer, but the GTK one works well. It can be found here: http://glade.gnome.org/ You can get glade for Windows here: http://gladewin32.sourceforge.net/
It can be hassle to set these up, though.
Honestly, while I like C++ a lot, writing GUIs for Windows is not where it excels. I would recommend that you look at C# instead. You can still interface with C++ if you need to, but it makes writing Windows GUIs so much nicer.