Introduction
Microsoft has been rewarding me for the last few years for my contributions on the microsoft.public forums by designating me as one of the Microsoft MVPs. This page is the root of my "MVP Tips" sub-Web. You can see my whole site by going to my home page.
This page is inspired by the very useful page of Bob Moore's MVP Site. I will attempt to not duplicate anything already on his page.
What I'm putting in here, besides code examples, are little essays that I've often posted to the microsoft.public.vc.mfc newsgroup and other places. Rather than keep posting them, I'm collecting my essays in one place.
Some of these essays are intended for beginners, pointing out useful techniques. Some are for experienced programmers poking into previously unknown areas of MFC. Some are advanced techniques, highly specialized. Some are simply my take on "best practice", style issues I feel strongly about, and which are not addressed adequately by the Microsoft documentation, and in some cases which have a folklore of incorrect methodology which is promulgated on the newsgroups. Be prepared for a variety of discussions.
Note that these essays represent, in many cases, my opinion of the right way to do things. Other people have other opinions. Microsoft may have yet a different opinion. The views expressed in these essays are those of the author, and in no way represent, nor are they endorsed by, Microsoft. Or anyone else, as far as I know.
I've sometimes been asked how I dare to differ from Microsoft's opinion. Well, the answer is simple: their opinion may not be right. In some cases, Microsoft's views represent one programmer's view of how to do something, and I find nothing wrong with disagreeing with another programmer. Just because Microsoft has enshrined that opinion as company policy (for example, "Hungarian notation"), doesn't mean that it is "right" or "sensible". Just that one opinion has become pervasive in one culture. (After all, if using "m_" was the only correct and sensible way to designate member variables, don't you think Bjarne Stroustrup would have designed the language that way and no other? He didn't, and I'd offer that he's as competent as Simonyi. Just a matter of opinion).
Disagree with me? Have a better idea? Fine. Send me a pointer to an essay on your Web site. If I think you have written something reasonably coherent on the subject, I'll even put a pointer to your site in my essay, even if I disagree with it. And if you find a bug or something demonstrably incorrect in one of my essays, or code examples, let me know and I'll fix it and even give you a wave of the Flounder Fin. (Or even, as it turns out, put your remarks on my Web site, with your permission. Already I've got feedback that revised my essays on Attaching and Detaching Objects and Avoiding UpdateData).
The Articles
Button Controls
Combo & List Boxes
C++ / MFC / STL
Dialog and Windows Programming
Fonts, GDI, GUI
List Controls
Printing
String
Threads, Processes & Inter-Process Communication
Programming Tips
Free Programming Tools
About Joseph M. Newcomer
Dr. Joseph M. Newcomer is a Microsoft MVP, an award presented to a fairly small group of people who help out on a volunteer basis on the Microsoft newsgroups. A collection of his articles, expanded beyond the postings on the newsgroups, is now available on his MVP essays page, as well as useful code samples.
Joseph M. Newcomer is the author of several articles on Windows programming as well as co-author of two books on Windows programming and a course in writing Windows NT Device Drivers. He also is co-author of three U.S. patents on distributed information technology.
An HTML form of his resume is available here.
He also teaches courses at the Carnegie Museum of Natural History. He has developed a teaching tool for explaining how a disk drive works, which you may want to build for similar instructional purposes.
Check out Joseph's homepage at www.flounder.com/index.htm.