Solved

Migrating from win32 APP to MFC

Posted on 2006-07-19
7
487 Views
Last Modified: 2008-02-01
Hi,

     Is there any easy way to migrate from application that develop with win32 app to mfc? or have to redo everything in mfc?

Regards
0
Comment
Question by:iphone
7 Comments
 
LVL 12

Expert Comment

by:rajeev_devin
ID: 17136770
>> Is there any easy way to migrate from application that develop with win32 app to mfc?
No, you need a lot of work.
0
 
LVL 48

Expert Comment

by:AlexFM
ID: 17136895
You need to create application using MFC Application Wizard and rewrite main functions. Only low-level stuff from existing application can be used. For example, if you have drawing function which accepts HDC parameter, you can call it from MFC CWnd::OnPaint passing CDC::m_hDC.

Out of topic: Is it time to move to MFC?
0
 
LVL 7

Expert Comment

by:nafis_devlpr
ID: 17137394
it actually depends on how the wrapper classes were designed. If you have called functions for a certain job when an event was fired then you will find it really easy to migrate the codes from win32App to MFC, cause in that case you will just have to design the user interface and the message maps and call the functions accordingly.

On the other hand if you hardcoded the instructions inside the event messages then you should get prpared for some real hard work.

Nafis
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 86

Expert Comment

by:jkr
ID: 17138367
>>Is there any easy way to migrate from application that develop with win32 app to mfc?

If you already have a working application - why would you want to do that?
0
 

Author Comment

by:iphone
ID: 17143535
Because i want to load external SWF(Flash files) and play in the application, i ever ask this question and the best answer i found is use browser object to open html page which load SWF in there. So far the solution i have to achive this is only support for MFC programming. Is there any other way i could done in Win32 APP? The SWF is external file.

0
 
LVL 39

Expert Comment

by:itsmeandnobodyelse
ID: 17147431
>>>>Is there any easy way to migrate from application that develop with win32 app to mfc?

No, but it shouldn't be a task impossible. If your current application has a main dialog window you should create a dialog-based MFC app by using the Wizard. Then, you should be able to import your current resource-file by copy-paste. Add dialog classes for all dialogs you have and add an appropriate CString member for any edit field. For any button or menu you should add the equivalent item in the resource editor. Finally add (empty) handler functions for any event you currently were handling in the WIN32 app. Key events you better handle by accelerator entries. All drawing issues you should move to OnPaint member function of your diaolg class. Note most WINAPI functions have an equivalent in MFC by simply replacing the handle argument by the class object:

    HWND hwnEdit = GetDlgItem(hwndDlg, IDC_EDIT);
    SetWindowText(hwndEdit, "Hello World");

==>

   myDlg.GetDlgItem(IDC_EDIT)->SetWindowText("Hello World);

If you call the latter in a member function of MyDlg you can/have to omit the "myDlg."  I would recommend to migrate all WINAPI call to the corresponding MFC member call if available.

Always consider that a MFC application is reacting on messages rather than actively controlling the screen. So, don't migrate lengthy parts of your current app but always try keep it short and simple, e. g. send/post messages instead of doing all at one time. Then you can react in a different event handler what makes the app quick and user friendly.

Regards, Alex
 
0
 
LVL 22

Accepted Solution

by:
mahesh1402 earned 500 total points
ID: 17152034
I am not sure 'MFC migration tool kit' still available or not....Many developers have existing applications for Windows written in C/Win32 API. To help these developers migrate their applications to C++, the MFC Migration Kit supplies the following:
· MFC Migration Guide: a help file that takes you through the migration process sample applications using MFC.
· A migration tool  that scans your C language source code and suggests things you should do to migrate the code to MFC.
· sample applications, before migration, in C, and after migration, in C++.

The migration tool can also help you port applications  with or without MFC. The MFC Migration Guide explains how that port fits into your migration strategy.

http://support.microsoft.com/default.aspx?scid=kb;en-us;122764 <=====

This migration kit shows you how to convert a C program for Windows to C++, by using MFC. You can gain most of the benefits of C++ and MFC with a minimum of pasting code into MFC classes and a minimum of C-to-C++ translation.

-MAHESH
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now