2.4. Printed Matter

Microsoft Visual C++/Microsoft Foundation Classes


2.4. Printed Matter

2.4.1. Magazines and journals

Ok, ok, ok, I admit it! I'm a MAGAZINE JUNKIE! There's just no better place to pick up a good little nugget of MFC info than a well written rag. I think I get every magazine on this list and more. Here's a list of all mags I know of with my review. Please feel free to submit any reviews you have of magazines - it's always a subjective kind of thing.

I've tried to list these in order of MFC content. The ones first have the most MFC content with the ones last having the least. Even though they don't directly cover MFC, most of the Windows programming magazines are still pretty valuable. Any of these that I've read, I put comments with. If you'd like to comment, email me and I'll throw it in here. Please don't tell me about more magazines - I'll go broke <g>.

Visual C++ Developer
Pinnacle Publishing ($149/yr)
(800) 788-1900 voice
(206) 251-1900 voice
(206) 251-5057 fax
[email protected]
http://www.pinpub.com/vcd/home.htm
 
My favorite, very meaty, lots of MFC coverage. They have had a rocky year, but appear to be back on track now.
 
Visual C++ Professional
Oakley Publishing ($149/yr)
(800) 234-0386
(503) 747-0800
 
Similar to above, but just a smidge less MFC.
 
Microsoft Systems Journal (MSJ)
Miller Freeman Inc.
(800) 666-1084
(303) 678-0439
http://www.microsoft.com./msj/
 
Visual Programmer column is EXCELLENT!!!!
 
Dr. Dobbs
Miller Freeman Inc.
(800) 456-1215
(303) 678-0439
http://www.ddj.com
 
Check out the "Undocumented Corner" for the continuing adventures of George and Scot's wild MFC Internals explorations. Ok, it's not that exciting, but it is a living.
 
Windows/DOS Developers Journal
Miller Freeman
(913) 841-1631
 
Continuing to add strong MFC material - getting better!
 
C/C++ Users Journal
Miller Freeman
(913) 841-1631
 
Not much MFC specific stuff at all, language-y articles.
 
C++ Report
SIGS Publications
(800) 361-1279
(212) 242-7447
 
Great if you want to learn about the dynamics of instantiated, real-time templates as applied to generic programming and patterns in modern-day CASE/UNIX based GNU compilers. <yawn> Don't these guys have day jobs?

2.4.2. Books on MFC

There's tons of books on Visual C++, but not many of them go into the details about MFC. Here's a list of books that are over 50% oriented towards MFC (e.g. don't have pages of screenshots of compiler options dialogs and the MSVC IDE)

Microsoft Visual C++ Documentation Set
Microsoft Press
MSPRESS
(416) 293-8464
 
Volume 2: Programming with MFC and Win32 ($27)ISBN 1-55615-802-5
Volume 3: MFC Library Reference ($45)ISBN 1-55615-801-7
 
These come in the on-line docs, but nice to have printed versions of them. If you are going to do MFC programming, volume 2 is a 'must have'
 
Inside Visual C++, Fourth edition
Microsoft Press ($45)
David J. Kruglinski (Ex-Microsoftie)
ISBN: 1-55615-661-8
http://mspress.microsoft.com/

ISBN is 1-55615-891-2
 
Sounds like it would be Visual C++ specific, but this is the 'Petzold of MFC programming. In other words, it's a 'must have' (along with volume 2 of the printed docs. If you can't afford both, stick with volume 2 on-line and get this one)
 
**Note, the MFC/VC++ 5.0 version (fourth edition) just hit the streets - it looks pretty good. -see last comment for the scoop on the latest version. Do not buy the third or second edition, it is bird-cage liner at this point. Rumor has it that David passed away recently in a freak hangliding accident. Does anyone know if this is true or not?!
 
The best MFC book that I know of is "Inside Visual C++" by David Kruglinski. Despite the name, this is primarily an MFC book.
Chris Marriott, [email protected], programmer.graphics, 6/15/95
 
I owned the previous version of Inside VC++ and learned a lot about MFC [ed note - he now has the third NEW version]. This was the book that got me started in MFC programming and I have recommended it to everyone who asked. I recently bought the latest edition and my impressions are as follows:
- It still is THE book for SDK programmers who want to learn MFC.
- Its strong suit is the coverage of the Document/View architechure, printing and print preview and on-line help.
- It is weak in it's coverage of Windows controls (CListCtrl, CTreeCtrl, etc, etc)
 
I did not feel that the new material it contained justified the almost $50.00 price tag, however. I recommend that anyone who owns an earlier edition of the book spend a little time in the bookstore with this 3rd edition before taking it home.
- Blaine Anderson [email protected], mfc-l, 1/14/96
 
The Revolutionary Guide to MFC Programming
WROX Press ($45), June 1996
Mike Blaszczak
ISBN: 1-874416-47-8
http://www.wrox.com
 
NOTE: A second edition of this book is out, it has MFC in the title, the old one has Win32 in the title.
 
This is my personal favorite MFC book (well next to MFC Internals of course…).
- [email protected]
 
If you understand C++ and _some_ windows programming this is a great book to learn MFC.
Shelley Lambert, [email protected], programmer.tools, 6/18/95
 
It is the best book on Win95 programming I have found.
Gary Coombs, [email protected], programmer.win32, 6/19/95
 
MFC Internals - AW George Shephard and Scot Wingo
Addison Wesley $39.95
George Shepherd and Scot Wingo
ISBN: 0201407213
http://www.aw.com
 
This book is best described as the 'other side' of the Mike B book. Where Mike shows you how to use MFC at an advanced pace, we show you how MFC works under the hood (also at an advanced pace). If you've ever gotten lost in the MFC source, you'll know why this is *extremely* helpful information. Plus, it's MFC 4.0 so it's pretty darn current information. Check out the March "Undocumented MFC" column in Dr. Dobbs for a sneak peek at the book.
[email protected] - co-author.
 
"Quite simply, this book is a must-have for any serious MFC developer."
 
""This book is definitely not a rehash of existing documents. It is not a "how-to" book-it is a "how does it work" book."
-Dean McCrory - technical editor, lead of the MFC team.
 
Writing Windows Applications with MFC
M+T Books ($40)
Bryan Waters
ISBN: 1-55851-379-5
 
At first I thought it was too beginner, but the last 5 chapters kick butt. Lots of info on MFC internals, exception handling, and topics not covered elsewhere. Good for someone new to Windows and MFC programming. - not updated to cover 4.0.
 
Visual C++ How-To: The Definitive MFC Problem Solver
Waite Group Press ($40) Apr-95, 570 pages
Info: http://www.dnai.com/waite/
(800) 788-3123
(510) 658-3453
Scott Stanfield, Ralph Arveson, Alan Light & Mickey Williams
Includes a CD-ROM
ISBN 1-878739-82-4
 
Note: Not updated for VC++ 4.0.
 
I can tell you that its a real good book for what its intended to be. Which is, sort of like your FAQ. It comes with a CD and has little tidbits like:
  1. How to animate an icon. I adapted this a bit to figure out how to change icons (in an MDI on the fly).
  2. How to detect multiple instances of a Windows app and pull theother one to the top of the Z-order. This is a perennial Usenet question and I pulled the code and had it working first time.
  3. How to put a bitmap on the main client window of a MDI app. Again, a nasty little thing to figure out on your own, but given good directions, quite easily done from the book.
The CD is also broken out between those that are using VC 1.5 versus 2.0.
Like other Waite Group "How-To" programming books, this one is in "Cookbook" or FAQ format. You read the table of contents for the functionality you are looking for, and the associated chapter contains the code to implement it.
 
Topics include:
Document and View, Status Bars and Toolbars, Controls, Multimedia, Bitmaps and Icons, Dialogs OLE and DDE, System and a FAQ of short tips. Many new classes are given here which all supplement the MFC in a fairly logical manner. Some of the chapters which were of interest to me were:
2.1 - Put the current time in the status bar
2.3 - Add a status bar to my Views
2.4 - Display Progress information in the status bar
4.1 - Preview an AVI file using the common file dialog
4.3 - Play AVI files in a CView
4.4 - Play large WAV files
4.6 - Create 3D animation using OpenGL and MFC
5.5 - Smoothly animate bitmaps
6.6 - Write customized DDX/DDV routines
8.3 - Localize MFC applications using resource DLLs
8.5 - Make multiple inheritance work in MFC
And many tidbits from the FAQ...
 
I like the cookbook format which allows me to glue in specific functionality on demand. I found this book to be fairly helpful in that regard. I look forward to Volume II
[email protected] via email, 7/15/95
 
Visual C++ 2: Developing Professional Applications in Windows 95 and Windows NT using MFC
Marshall Brain and Lance Lovette
Prentice Hall
ISBN: 0-13-305145-5
 
Note: Not updated for VC++ 4.0.
 
This was the third MFC book I picked up, and by far the best one. Like Brain's other books (Heart of NT...) this one sets out to answer some frequently asked questions, as enumerated in the introduction. It's definitely a comprehensive book, divided into five sections covering the basics of Visual C++ and MFC, Controls, Using the App Wizard with MFC, Professional Features, and Advanced MFC classes. It has an interesting appendix that is designed to get C programmers up to speed with the C++ concepts that they will need to use MFC right away. It does cover things like OLE, ODBC and Threads as well as some 'example chapters' covering things like splash screens, and multiple document templates per application. It's pretty cool because it goes through MFC without the Class/App Wizards before introducint them to you. It's very clear, and most everything is done by example, which I really like ;). What it doesn't do is cover any of the new common controls despite its title implying Windows 95 development. This seems to be ok, because Nancy Cluts' book looks like it should handle
that part well enough ;) I highly recommend this one, especially if you have previous windows programming experience and are looking to migrate to MFC 3.x for 95/NT.
 
Topics of interest:
Understanding Message Maps, Debugging and Robustness, Dynamic Data Exchange and Validation, How MFC Works with Windows, Creating a Self Drawing Control, Property Sheets, OLE, MFC Threads, Combining Two Documents and Views in a Single Application, Subclassing and Windows Procedures, as well as the standard treatment of every control from edit to combo boxes.
[email protected]
 
Animation Techniques in Win32
Nigel Thompson
Microsoft Press (Early 1995)
ISBN: 1-55615-669-3
 
At first glance, I ignored this book on the shelves, however, when I finally picked it up, it used MFC completely throughout. A very good book on doing graphics with MFC.
[email protected], John Clark, via email 6/6/95
 
Teach Yourself Microsoft Foundation Class Library Programming in 21 Days
Robert Shaw
SAMS ($30)
ISBN: 0-672-30462-7
 
Note: Not updated for VC++ 4.0.
 
I find "Teach Yourself Visual C++ in 21 Days" a good reference, since it is set up to cover a small group of features each "day", so you can quickly go to a subject area, and get a from-scratch description of it and how to use it. However, the author is not strong on using the VC IDE, claiming that "you have to write this code yourself the first few times, so you better appreciate what AppStudio and ClassWizard are doing behind the scenes." I'd prefer the approach where we use the tools at hand, and then map out what those magic MESSAGE_MAP macros are really doing.
[email protected], email, 7/11/95
 
Robert Shaws` book is terrific for the beginner learning MSVC and MFC. Before trying out the examples found within, download the updated files via ftp from the address specified in the book. This will save you alot of frustration. The examples are well thought out. This book is better that Steve Holzner`s series of books on OLE or MFC (what isn't?). Once a beginner has finished with this book he is ready for more serious books such as "Inside Visual C++" by David Kruglinski.
[email protected]
 
MS Foundation Class Primer: Prog Windows 3 & Windows NT w/MFC
Jim Conger
The Waite Group Press ($32) Mar-93, 830 pages
ISBN: 1-878739-31X
 
Note: Not updated for VC++ 4.0.
 
The best MFC book that I've seen that DOESN'T use VC++ Wizards is Microsoft Foundation Class Primer.
[email protected], ED, programmer.misc, 6/24/95
 
This book is a good intro for people new to MFC, but it's getting pretty dated. This book was written during the time of MS C++ 7.0, and some of the newest functionality just isn't covered (for obvious reasons ;), which can confuse a newbie. At any rate, it's still makes pretty good book for someone looking for the basics.
[email protected], email, 7/15/95
 
Master Visual C++ 2,2/E w/CD-ROM (covers MFC 3.0 library)
Howard W. Sams & Company ($ 50) Jan-95, 1183 pages
Gurewich & Gurewich
ISBN: 0-672305-321
 
Note: Not updated for VC++ 4.0.
 
I picked up a copy of "Master Visual C++" specifically for its coverage of creating custom VBX's. This is not covered in Kuglinski's "Inside Visual C++" nor in "Teach Yourself Visual-C++ in 21 Days". "Master Visual C++" is just my speed, since I am a dabbler who does not read instructions or tutorials, just jumps in over my head, then starts looking for the routine calls I overlooked. Similar to the Heavy Metal book, this book could have been squeezed down to about 1/3 the size, but here that is not the point. Each example starts with a demo of the finished product, then goes through the steps descriptively, then goes through the steps again with the code. My little VBX was done in a day an a half, and I have a much better feel for the ins and outs of this process.
[email protected], email, 7/11/95
 
Heavy Metal Visual C++ Programming
Steve Holzner
Brady Publishing
ISBN 1-56884-196-5
 
Note: Not updated for VC++ 4.0.
 
Hate to disagree, but I find this book disappointing. The reason is, I felt like being treated as a semi-idiot when reading the book. Don't get fooled by its number of pages, it could have been easily reduced to half of its size, if the author knew how to list the code efficiently. Furthermore, there are too many misprints in the version I have.
Huayong ([email protected]), programmer.tools, 6/18/95
 
The rule of thumb is never buy Holzner's book. His book only leads you the the door. You can't find practically useful examples. Almost every updated vesion is the same.
Runhong ([email protected]), programmer.tools, 6/18/95
 
Programming the Windows 95 User Interface
Microsoft Press ($34.95)
ISBN 1-55615-884-X
Nancy Cluts
 
NOTE: Microsoft Developer Network Developer Library contains the complete text of this book. Might want to check it out there first before buying it?
 
%%TODO - get a review!
 
Visual C++ Power Toolkit
Ventana Press ($50), 1995, 785 pages
Info: http://www.vmedia.com/vc++.html
(919) 942-0220
Richard Leinecker, Jamie Nye
Includes a CD-ROM
ISBN 1-56604-191-0
 
Note: Not updated for VC++ 4.0.
 
YACTB = Yet Another Cookbook Type Book. Although this book tries to be a sourcebook for programmers by giving many new classes and clever code, it just isn't laid out as logically as other books I've seen recently (see: "Visual C++ How-To" listing). This book covers a lot of topics, such as: Customizing the Interface, Animation, Screen Effects, Music & Sound, Advanced Animation, Data Compression, OLE 2.0, Communications and Scanner Input (Using TWAIN). I haven't found this book to be as useful as other books for my purposes yet, but it does include a lot of new Classes which may prove useful for other programmers.
[email protected], email, 7/15/95
 
I just grabbed this one and at first glance it looked really useful, then I started reading it and BLECH! The author's writing is, well, it's not so great. Also, the classes are sloppy and show no OO design at all. The author's comment is "I'm not hungarian, so why should I name variables like one". Can't say I recommend this one.
[email protected]
 
The following are rumored to be coming out RSN (Real soon now)
MFC 4.0 Bible - The Waite Group ($45)
 
Extending MFC - AW David Shmitt
 
Programming Windows 95 with MFC, Microsoft Press, Jeff Prosise
%%TODO - get review, I think this is out.

UPD!!2.4.3. Cool MFC Articles

There's probably a million 'good' MFC articles out there, but this section is for the ultra-hip, totally-swinging, must-have, gotta-read MFC articles. If you submit an article for this section, please include all the 'volume' information and a short paragraph about why it's so damn cool! [Note if you have questions about the magazines or MSDN mentioned below, see sections: 2.4.1 and 2.1.2]

  • "Fun with MFC: 33 Tips to Help You Get the Most Out of ..." Paul DiLascia, MSJ, November 1993, Volume 8, Number 11
This is my A#1 MFC article of all time. Even though this article is 2 years old, it has principals and ideas that are extremely valuable to today's MFC programmer. Good news is that it's on MSDN in their MSJ archives! You can also find this gem under books online: Extensions: articles/Technical Articles/Fun with MFC: 33 Tips.
[email protected]
  • "Meandering Through the Maze of MFC Message and Command Routing" Paul DiLascia, MSJ, July 1995, Volume 10, Number 7
Best explanation of messages ever, a MFC FAQ "must-read".
  • "Rewriting the MFC Scribble Program Using an OOD Approach" Allen Holub, MSJ, August 1995, Volume 10, Number 8.
Not my favorite article, but 'DID' stir up lots of talk on most MFC forums. Any article that generates this much noise has to be good.
  • "Self Decorating Pages" David A. Schmitt, Windows Tech Journal, July 1995
  • "Dad, Can I Drive the Printer Tonight?" -David A. Schmitt, Windows Tech Journal, August 1995
This series of articles is pretty good, especially if you are into printing.
  • "Plunge into MFC's User Interface" Scot Wingo, Windows Tech Journal, August 1994

Stuff by MFC FAQ maintainer:

  • C++ Report, SIGS Publications, "A Brief History of MFC" - recaps section 3 of this FAQ and throws in some new information.
  • Dr. Dobbs, January 1996, "Extending MFC" - describes an MFC grid extension.
  • Windows Tech Journal, November 1994, "All aboard the MFC Express"  
  • Windows Tech Journal, August 1994, "Plunge Into MFC's User Interface"

%%TODO - Come on MFC FAQ readers - let's get some new submissions in this section, getting boring!