Can I write MFC application and without .net Framework with Visual C++ 2005 Express?

W

W. Jordan

Hello,

I would like to learn MFC programming.
However, Visual Studio is expensive.
Can I write MFC programs with the VC++ 2005 Express
but without bothering the .net framework?
 
D

Dmytro Lapshyn [MVP]

Hello,

I am not sure about the very latest version of MFC, but I do believe MFC has
absolutely nothing to do with .NET - it is plain unmanaged C++. However,
again, I cannot say for sure VS 2005 Express includes MFC - please check the
Visual Studio Center at msdn.microsoft.com.
 
W

W. Jordan

Hello Dmytro,

Thank you for replying.
I will try download it and see whether VC++2005 supports MFC.
 
R

Roman

Hello,

you can not do this!
Only one way you can download PlatformSDK and start to use WTL with VC++
2005 Express.

WTL you can find here: http://sourceforge.net/projects/wtl/
some information about WTL you can find also here:
news://gmane.comp.windows.wtl

This is short description how install WTL from the
===============================================
Hi,

VCExpress was released in 11/7
We can use it for our wtl programming free.

1 - Download and Install VCExpress 2005 from MSDN.
http://msdn.microsoft.com/vstudio/express/visualc/

2 - Download, Install PSDK, and Update VCExpress Setting. Detail:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx

3 - Update the Visual C++ directories in the Projects and Solutions
section in the Options dialog box.Add atl path.
Include files: C:\Program Files\Microsoft Platform SDK\include\atl

4 - Change atlwin.h and atlbase.h in PSDK\ATL folder

Change SetChainEntry function at L1725 of atlwin.h,define "int i" at first?
---------------------------------------------------------------
BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD
dwMsgMapID = 0)
{
int i;
// first search for an existing entry

for(i = 0; i < m_aChainEntry.GetSize(); i++)
---------------------------------------------------------------

Change AllocStdCallThunk and FreeStdCallThunk at L287 of atlbase.h,to new
macro
---------------------------------------------------------------
/* Comment it
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID __stdcall __FreeStdCallThunk(PVOID);

#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)

#pragma comment(lib, "atlthunk.lib")
*/
#define AllocStdCallThunk()
HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
---------------------------------------------------------------

5 - Download and Install the WTL from http://wtl.sf.net

6 - Download AppWizard for VCExpress from
http://groups.yahoo.com/group/wtl/files/setup80express.zip
Unzip and Copy JS file into WTL\AppWiz folder, double click it to
install WTL Wizard into VCExpress

Enjoy VCExpress&WTL

--
Baryon Lee
http://www.bbshare.com/
Share our software to make your life & work more easier.
===============================================

Best regards,
Roman
 
W

W. Jordan

Hello,

Thank you for your guide and explanation!
Last night I tried to copy the ATL and MFC include files from my friends'
computer into the VCExpress include folder, and built some ATL related
projects. The compiler reported that there're many syntax errors in those
ATL include files.
Well, I guess that I shall try WTL then.


--

Best Regards,
W. Jordan




Roman said:
Hello,

you can not do this!
Only one way you can download PlatformSDK and start to use WTL with VC++
2005 Express.

WTL you can find here: http://sourceforge.net/projects/wtl/
some information about WTL you can find also here:
news://gmane.comp.windows.wtl

This is short description how install WTL from the
===============================================
Hi,

VCExpress was released in 11/7
We can use it for our wtl programming free.

1 - Download and Install VCExpress 2005 from MSDN.
http://msdn.microsoft.com/vstudio/express/visualc/

2 - Download, Install PSDK, and Update VCExpress Setting. Detail:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx

3 - Update the Visual C++ directories in the Projects and Solutions
section in the Options dialog box.Add atl path.
Include files: C:\Program Files\Microsoft Platform SDK\include\atl

4 - Change atlwin.h and atlbase.h in PSDK\ATL folder

Change SetChainEntry function at L1725 of atlwin.h,define "int i" at
first?
---------------------------------------------------------------
BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD
dwMsgMapID = 0)
{
int i;
// first search for an existing entry

for(i = 0; i < m_aChainEntry.GetSize(); i++)
---------------------------------------------------------------

Change AllocStdCallThunk and FreeStdCallThunk at L287 of atlbase.h,to new
macro
---------------------------------------------------------------
/* Comment it
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID __stdcall __FreeStdCallThunk(PVOID);

#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)

#pragma comment(lib, "atlthunk.lib")
*/
#define AllocStdCallThunk()
HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
---------------------------------------------------------------

5 - Download and Install the WTL from http://wtl.sf.net

6 - Download AppWizard for VCExpress from
http://groups.yahoo.com/group/wtl/files/setup80express.zip
Unzip and Copy JS file into WTL\AppWiz folder, double click it to
install WTL Wizard into VCExpress

Enjoy VCExpress&WTL

--
Baryon Lee
http://www.bbshare.com/
Share our software to make your life & work more easier.
===============================================

Best regards,
Roman
 
W

W. Jordan

Hello,

I downloaded the VC2005Express and modified the settings of VCExpress
according to this page:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
However, I found that "Resource Editing is not supported on the Visual C++
Express SKU". It is sad.
Is there any alternative that can help editing the resouces?


--

Best Regards,
W. Jordan



Dmytro Lapshyn said:
Hello,

I am not sure about the very latest version of MFC, but I do believe MFC
has absolutely nothing to do with .NET - it is plain unmanaged C++.
However, again, I cannot say for sure VS 2005 Express includes MFC -
please check the Visual Studio Center at msdn.microsoft.com.

--
Sincerely,
Dmytro Lapshyn [Visual Developer - Visual C# MVP]


W. Jordan said:
Hello,

I would like to learn MFC programming.
However, Visual Studio is expensive.
Can I write MFC programs with the VC++ 2005 Express
but without bothering the .net framework?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top