CodeGuru
Earthweb Search
Forums Wireless Jars Gamelan Developer.com
CodeGuru Navigation
RSS Feeds

RSSAll

RSSVC++/C++

RSS.NET/C#

RSSVB

See more EarthWeb Network feeds

follow us on Twitter

Member Sign In
User ID:
Password:
Remember Me:
Forgot Password?
Not a member?
Click here for more information and to register.

Become a Marketplace Partner

jobs.internet.com

internet.commerce
Partners & Affiliates
















Home >> Visual C++ / C++ >> C++ >> C++ & MFC >> Tutorials


Visual C++/MFC Tutorial - Lesson 4: MFC Basics
Rating:

Brian Martin (view profile)
August 8, 2000

Lesson 4: MFC Basics

Are you ready to start programming? No you are not. You don't want me to teach you a stupid 'hello world' application, do you? If you want to make the most of Visual C++ you have to use Microsoft Foundation Classes (MFC). These classes are great because they wrap all of those handles we talked about in the first lesson with easy to use classes. The most important to you right now is the class CWnd. This wraps the functions which needed a window handle (HWND). Remember that PostMessage function I mentioned?

PostMessage(your_HWND, WM_PAINT, 0,0);

(continued)




Well now we can take our windows class and call it's member function.

MyCWnd.PostMessage(WM_PAINT, 0, 0);

This does the same thing, but now we don't have to keep track of the window handles. But don't be fooled, they are still there. We can still use them too. They are now just member variables of the class. The handle to the window a CWnd is associated with in the member variable m_hWnd. We can call the old post message this way:

::PostMessage(MyCWnd.m_hWnd, WM_PAINT, 0,0);

Those colons (::) are used to tell MFC that we are calling the old fashioned versions of the function. You can get away without using them most of the time, but I put them here so you won't be too confused when you see them in microsoft's code.

The CWnd class is the base for several other classes. Like CButton and CDialog which I hope the names make self explanatory.  From CButton you can access the windows handle also. (You'd be surprised how many things are windows.. Scroll bars, edit boxes, tree views, the desktop...) Got all that? Great!

The next most important class, though you won't explicitly use it much, is CWinApp. This class is the backbone of all of your future MFC applications. This is the class that does the main dirty work under the hood. Your program will have a CWinApp class, which when created, starts the program execution. The main function called when the CWinApp is constructed is InitInstance(). In this
function windows are created and the application is set up. Think of the InitInstance() function in CWinApp as the main() section in a C program.

Let's move on to one last very useful MFC class that you will surely use: CString. This is one of microsoft's support classes. It is used to make string manipulation easier. Since CString overrides many of the common operators, like = and +, you can do things like this:

CString strMyString;
strMyString="May the Force be with you";
strMyString+=" young Jedi."
printf("%s", strMyString);
//output will be "May the Force be with you young Jedi."; 

Tools:
Add www.codeguru.com to your favorites
Add www.codeguru.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed







RATE THIS ARTICLE:   Excellent  Very Good  Average  Below Average  Poor  

(You must be signed in to rank an article. Not a member? Click here to register)

Latest Comments:
Very Good - Cush (06/28/2005)
is there more? - sdeleon (03/23/2005)
nice! - Legacy CodeGuru (02/11/2004)
typo on code - Legacy CodeGuru (02/04/2004)
..i.. - Legacy CodeGuru (01/17/2004)

View All Comments
Add a Comment:
Title:
Comment:
Pre-Formatted: Check this if you want the text to display with the formatting as typed (good for source code)



(You must be signed in to comment on an article. Not a member? Click here to register)