Simple questions
-
Hello everybody, I am a newcomer and I would like to ask: What is the relation between MFC and C++/CLI? At first I was interested in MFC but I figured out that programming with C++/CLI is a lot easier.Is it necessary to learn MFC to make a decent application?Can I use both MFC and C++/CLI to make a programm, or there are other C++/CLI libraries that I can use instead of MFC?
-
Hello everybody, I am a newcomer and I would like to ask: What is the relation between MFC and C++/CLI? At first I was interested in MFC but I figured out that programming with C++/CLI is a lot easier.Is it necessary to learn MFC to make a decent application?Can I use both MFC and C++/CLI to make a programm, or there are other C++/CLI libraries that I can use instead of MFC?
I'll try to keep my answers simple:
Lord_Vader wrote:
What is the relation between MFC and C++/CLI?
There really isn't any relation between the two. Depending on how you look at it, but MFC is a class library that wraps up Win32 API. Also, it is a Windows programming model that supports document-view architecture. On the other hand, C++/CLI is the CLI extension of C++; it is a language. The .NET Framework 2.0 built on C++/CLI has provided some libraries, but it doesn't have any mature architecture yet (as MFC does).
Lord_Vader wrote:
Is it necessary to learn MFC to make a decent application?
No, you can build decent applications without MFC.
Lord_Vader wrote:
Can I use both MFC and C++/CLI to make a programm,
To some degree, yes, but it usually creates unnecessary complexity.
Lord_Vader wrote:
or there are other C++/CLI libraries that I can use instead of MFC?
.NET Framework does have such libraries as GDI+, DirectX, etc. It also has primitive event model to help. However, .NET Framework lacks a Window programming model/architecture like MFC yet. At the current state, .NET has barely set up a generic programming model, but it evolves quickly. I expect to see more support from future versions of .NET. Hope this answers your questions.:) - It's easier to make than to correct a mistake.