What is win32 project in visual c++? - c++

While I was creating a console application, I saw the win32 project. I created one and saw a bunch of code (which I supose is for creating the main window).Is this better then visual c++ winform application?If so why?

Is this better then visual c++ winform application?
No, it's different. "Better" depends on your goals.
A Windows Forms application will be a C++/CLI application, and use .NET. This may be "easier" for developing a GUI appilcation, but adds a lot of complexity and dependencies.
A Win32 application will not take a dependency on .NET, but then you can't use the .NET types. For details on what you can make when choosing that option, see MSDN's Win32 Application documentation.

Related

How to create .NET independent apps using Visual Studio?

There exist many C++ IDEs. However, I find Visual Stuido (Visual Studio 2010 Pro) the most comfortable maybe because I've spent a lot of time with it. The problem is I really don't like .NET dependent products both speed-wise and compatibility-wise.
I guess there is no way to compile VB and C# codes without .NET dependency (please correct me if I'm wrong). In C++, is there a way to use VS IDE with all its functions like auto-complete, GUI design etc.. while keeping all the codes unmanaged so that .NET will not be required?
When you create a new project, if you select a Win32 project then it is a 'native' C++ application and does not depend on .NET. For existing projects, the relevant setting is Configuration Properties -> General -> Common Language Runtime Support. Set this to No Common Language Runtime Support to remove .NET dependencies.
Of course, the main UI designers for VC++ are the WPF and Windows.Forms designers - which depend on .NET components to implement them. If you don't want to use them, you're stuck using MFC for your user interface. It's not my idea of a good time, but many people do use it.

Developing windows forms applications?

C++ is by far my language of choice. However, I have only developed libraries and console applications.
I like how in Visual C# you can easily design a GUI for your application - simple drag-and-drop controls and edit their properties simply.
I have tried to create a windows form application in Visual C++, but it uses the CLR/.Net. Is there a way to make a windows form application in Visual Studio without having to use the CLR or .Net? I really love how easy it is to design a form application in C# or VB.NET.
Thanks!
No, the whole concept of a .NET application is that it leverages the .NET framework to do all the cool stuff you mentioned. If you were to elaborate on what it is you are trying to accomplish we may could recommend an alternative solution, but if you write a C# winForms application it's going to need the .NET framework to run...
EDIT:
You could use a qt ide, or possibly a QT plugin for visual studio. Check this thread out:
Best QT ide?

Can you build Winforms applications with C++?

I saw some Youtube videos that claimed they showed how to build a C++ applications using Winforms.
As far as I knew you needed something else like QT. Is it really possible to build using the same WinForms you would use to build a C# application but with C++ instead?
WinForms is managed code and is usable from practically every language with runs on the CLR. So standard native C++ can't build a winforms app. However managed C++ or C++/CLI can build WinForm apps in native code.
In general though I would question why you were doing this. If you are willing to have mixed mode C++ it would probably be much faster to
Build the UI in C#
Communicate with your native backend through a mixed mode C++ layer.
In VS ('05), you can go to File->New->Project... Then Visual C++ -> CLR -> Windows Forms Application. Have fun :)

Best way to create a standalone-exe (Forms) (C++)

I have to create an application for testing that is relatively simple. If a user plugs in a device into a USB (hid library), the form will say "Pass". If no device is detected, it will say "Fail".
I want to create the app to run on WinXP+. It must be a forms application as it needs to be visual and have colors. The biggest requirement for me is that it must be stand-alone (a user just double clicks, the file and it opens, no installation). I need to avoid installing any extra .dll files and want to avoid the .net framework all together. It has to be written in C++.
So my question is, what are my options? I am new to Forms applications and the only forms application I have written required the .net framework.
From my research, Visual C++ seems out of the question as it requires .net for Forms apps. What about Turbo C++ by Borland? It seems outdated, but can it do the job?
I would suggest Borland C++ Builder 5 or 6. Visual C++ lacks the functionality to create C++ form apps, if we dismiss MFC
I'd say Visual C++ would probably still be your best option. A standard simple Win32 C/C++ program using only the native API will should suite your needs just fine. If you're targeting XP+, then the only dependency would be "msvcrt.dll" which is included with Windows by default.
Edit: This article on MSDN should get you started in the right direction.
What you're talking about is C++/CLI, it's microsoft's dialect of C++ that requires a .Net framework. Please distinguish it from real (native) C++, which can be used to create what you want to. Visual C++ is perfectly fine, just make sure you don't create a .Net project.
Forms are a .NET library. It's not Windows or anything like that, you can use the native GUI libraries in Win32 with no problem or any native wrapping of them. You can implement this in native C++ easily in Visual Studio.
If you're looking to create the application in a rapid fashion (i.e. stock UI components that you can drag and drop onto forms), my experience is that Embarcardero C++ Builder effectively solves that problem space.
I like Visual C++ but it's not a great environment for rapidly creating forms based applications. I want to emphasize that I'm referring to Rapid Application Development (RAD) tools. There are plenty of great C++ IDEs and libraries for creating forms based applications and all of them should be able to create standalone exes.
Here is a list of related questions that might help in your decision:
https://stackoverflow.com/q/1754020/4916
https://stackoverflow.com/q/93326/4916
Best C++ IDE or Editor for Windows

C++ open window hello world

How can you write a C++ program to open a window like this one...
Is it possible or can apps only be ran from the command line?
I'm using the G++ compiler... Do I need something else like visual studio?
Can I do it just by writing code?
Take a look at Qt which is a cross-platform framework that easily builds GUIs.
Then check out a Qt tutorial, do a google search. Here is one that will get you to "hello world"
Also, you might want to check out Code::Blocks as an IDE. It will use your already installed g++ compiler.
You can use Borland C++, Visual C++ they has GUI or wxWindow or GTK library.
GUI programming requires the use of additional libraries. There is a C++ GUI library supplied by Microsoft for Windows called MFC. There are many other GUI libraries out there.
If you use these GUI libraries, you don't need to run the application from the command line.
Search for WinApi Tutorials like this one
there are alot
or you can also you the Visual Studio MFC application wizard and create a dialog application
Microsoft provides a tuturial for doing that:
http://msdn.microsoft.com/en-us/library/bb384843.aspx
The best and most low-level way of doing this would be by using the Windows API:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows
Microsoft itself provides excellent tutorials and documentation on how to program with their Windows Application Programming Interface, but there are also numerous other tutorials out there that can be found quickly with a google search.
To create a window like the one you ask about in the question, you would be looking for the following link:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/your-first-windows-program
It might seem daunting at first, but the Windows API is extensive and provides a huge amount of functionality, on top of just creating GUIs. It would probably be worthwhile familiarising yourself with it if you are interested in Windows programming.
You need to use the Windows api from within C++.