programming windows using VC++ express - c++

Can I develop full fledged win32 app using VC++ express (i.e access to all the win32 APIs). I do't want to use .net, but if it works with .net then its a bonus. I do have Visual studio DVD but I do not want to install ton of crap just to program in C++.
I just want to use windows APIs for networking, filesystem, threads, etc. I'll most probably use GUI Libraries like TK or WX.
Will Mingw allow me to use all of the Win32 APIs.

VC++ Express has access to all of the Windows API. It does not come with a framework for GUI development, but you can easily add a third party package such as Qt or wx, or work directly with the API if you prefer.

Under Create New Project there's a "Win32" section with "Win32 Project" listed as one of the options.
So as the Express edition is a fully featured IDE (apart from not supporting plugins) then you should be able to build a "fully fledged win32 app".

Related

Visual Designer for native Win32 Apps

i have been a C# developer for a long-time now so i have huge experience with Winforms. i wanted to start VC++ development so that i can write native apps.
I know C++ very well. The problem is i have made test projects in VS2010, Win32 Application, MFC Applications and all, it doesn't provide a Visual Designer like there is for VC# Winforms and VC++ Winforms as well. i want to have a Visual designer for Native App Development like for Win32 Apps.
Is it possible?
How to do it?
There is a dialog designer for MFC. Provided you setup your project correctly, you can use the designer to layout your MFC windows. See this answer for details.
For other libraries, there are other options, as well. For example, Qt Creator allows you to visually design Qt windows via Qt Designer.

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.

Windows API gui designer?

Is there a good GUI designer (read: drag 'n drop/WYSIWYG) for the plain old Windows API? I'm not looking for something that uses Qt, GTK, .NET, etc, just plain old Windows API.
Must be usable with either C or C++.
You are looking for a resource editor. Visual Studio Professional, Premium and Ultimate have one built into the IDE. You can access it by creating a new .rc file and then adding a resource to it.
If you're not using Visual Studio you can use an external resource editor such as ResEdit. Not having it built into the IDE is a little bit more of a hassle unfortunately.

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.

Learning Win 32 API programming from theForger's Win32 API Programming Tutorial

Im trying to learn Win 32 API programming from theForger's Win32 API Programming Tutorial. Should I choose Visual C++ -> Win 32 Project or Windows Form Applicationto get started? Thanks
You should choose the Win32 option.
Windows Forms is a .NET thing, completely different from the Win32 API. theForger's tutorial is about Win32, not .NET.
Edit: If you looking to learn modern Windows GUI programming, as opposed to specifically the Win32 API, Windows Forms would be a good place to start.
You should choose Win32 Project and, if you are using an "express" version of Visual Studio, you should download the recent windows SDK which contains the necessary headers and libraries.
Choose the Win32 Project if your goal is to learn pure Windows 32 API. And make sure it's not Managed Extensions for C++!
Since you mentioned a Windows Forms project I assume you're using a more recent (post .NET) version of Visual Studio and so it contains project templates for Windows Forms which were introduced with the .NET framework. Before that you could choose between Win32 or MFC. MFC was a framework for developing Win32 apps and so is .NET - and abstraction to provide a richer and more straight forward experience developing windows application. Learning MFC (or .NET Windwos Froms) is useful but it's not the same (especially for .NET) as learning the Windows 32 API and the Win32 way of doing things and dealing with windows and windows controls.