The Wayback Machine - https://web.archive.org/web/20100103234448/http://www.codeguru.com:80/cpp/cpp/cpp_mfc/

CodeGuru
Earthweb Search
Login 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.

jobs.internet.com

internet.commerce
Partners & Affiliates
















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


C++ & MFC

Array Handling



Intelligent Memory Buffer Class on Non-MFC(SDK) Platforms
Rating:
krkim - 11/27/2007
Check out this stand-alone, intelligent "increasing buffer" class. It's useful for a Win32 SDK project without using MFC.

Using std::vector Arrays
Rating:
Lea Hayes - 12/22/2003
Learn about the vector array, which is part of the standard namespace (std::).

Wrap-Around Array (wa-array, aka Cyclic Array)
Rating:
Nikolai Borissov - 07/26/2002
Wrap-around array is implemented in the form of a class template and thus allows elements of any type. The idea of such an array is to have it in the form of a loop.

MFC extension class CBitArray
Rating: none
Thomas Holte - 11/27/2001
The class CBitArray behaves like a specialization of the MFC template class CArray.

CGBitArray : A Packed Array of Flags
Rating:
Gary Whitehead - 10/16/2000
Class that stores huge arrays of flags in as efficient a manner as possible (packed into array of BYTEs)


Bits and Bytes



[Updated] CBitPointer: Easy Bit Manipulation
Rating:
Ahmad Hawwash - 11/10/2008
Bits can't be accessed directly as a simple data type. Learn how to manipulate bits (nearly) as any simple data type.

A Compressed Bitset Class
Rating:
jema - 06/24/2004
If you are using the STL bitset class with large bitsets that spend most their time in the sparse or mostly populated range, this class may be what you are looking for.

Sockets Byte-Ordering Primer
Rating:
Tom Archer - MSFT - 03/22/2004
For those who are new to sockets programming or who've long ago forgotten the idiosyncrasies of byte ordering with sockets (as I had when I needed to know this last year), here's a primer on what byte ordering is, why it's needed, and terms such as little-endian, big-endian, network byte order, and host bye order.

Representing Arrays as Streams of Bits
Rating:
Alexander Hritonenkov - 03/31/2003
Read an array as a stream of bits. You can navigate inside the array of data, set a "pointer" to any bit inside the array, and choose the order the bits of every byte will be processed.


Buffer & Memory Manipulation



Visual C++: Protecting Against Buffer Overruns with the /GS Switch
Rating:
Nick Wienholt - 10/06/2004
Visual C++.NET supports the automatic detection of stack-based buffer overruns through the use of the /GS compiler switch. Learn why stack-based buffer overruns are so serious, and how /GS and other Visual C++ settings can combat them.

VMemPool
Rating:
cho kyung min - 03/15/2004
If you deal with same size objects in server coding, VMemPool shows a good way for beginners.

Automatic Deallocation of Unwanted Memory
Rating: none
Niraj Kedar - 05/09/2002
The most common yet repeated mistake that programmers make occurs while using system memory. This program automatically deallocates memory back to the system!

MemCheck Driver Memory Tool
Rating: none
L5 Software Group, LLC - 04/08/2002
Code to help driver developers locate and solve memory problems. The code includes checks for buffer overruns, double-frees, invalid memory accesses.

Inflable Arrays in Win32
Rating: none
Petko Popov - 09/21/2001
The inflable array described here allows to declare really huge buffers without actually allocating much more memory than is really needed to store the actual data.


C++ & MFC



Intelligent 'enum's in C++ Applications
Rating:
Lloyd Williamsen - 12/29/2003
Representing Enums as C++ classes.

Action History'—Undo and Redo
Rating:
Lea Hayes - 08/29/2003
A useful undo/redo system that can be implemented into most programs easily.

Remembering a Window Position Across Application Invocations
Rating: none
kirants - 06/19/2003
Many applications need to remember their position on the Desktop across invocations. Learn a way to implement this functionality through a simple C++ class that can be used in MFC or non-MFC applications.

Simplest Checkable Groupbox
Rating:
Ziming Wang - 06/17/2003
Often, we want to disable a set of controls in our dialog. Using a group box is a good way to categorize a few controls together, but unfortunately it cannot enable/disable its controls. The CButton class has been extended and made very simple to accomplish and encapsulate.

URL Encoding
Rating:
Chandrasekhar Vuppalapati - 05/22/2003
URL encoding is a special process that makes sure that all the characters are "safe" to transmit across the Internet. Design a C++ class which does URL encoding.

Creating a Message Map Simulation Program
Rating:
Dr. Sai - 05/14/2003
A bare-bones presentation to help you understand how to handle message maps from a C++ viewpoint.

Implementing a Property in C++
Rating:
Emad Barsoum - 04/01/2003
How to simulate the property behavior found in C# and other languages by using Standard C++ and Templates without using any extension.

CZipFile: a Lite Zip Archive File Viewer
Rating: none
Arcangelo Bruna - 03/04/2003
Get information on zip archives. View or retrieve content information from a zip file.

Implementing Undo/Redo -- The DocVars Method
Rating:
Tom Morris - 12/18/2002
Discover this general method for implementing Undo/Redo functionality in an MFC application. The technique allows you to save and cycle Undo/Redo states within and between editing sessions.

HTML-Based Chat Server/Client
Rating:
Kamjith P. - 12/05/2002
Learn how to pass HTML-formatted messages and use the NetMeeting APIs with this chat client/server.

Template class to manipulate bits of undefined type
Rating: none
Ludovic CHARRIER - 10/01/2002
Template class to manipulate bits of undefined type

Automatic Factory from Microsoft
Rating: none
E. van de Pitte - 07/11/2002
Discover a method to create instances of a class based upon their classtype. The collection of creatable classes is built automatically upon program startup without the need of writing specific registration code.

Common File Tasks -- Search and Replace, and Append
Rating: none
James Moody - 06/07/2002
A simple class to do common tasks of search and replace within a file, and also to add an entry to a configuration file. A sample project is included.

What Are Threads?
Rating:
Gopal Mor - 05/07/2002
If you don't already know what threads are, then you should take the time to learn.

How to use your own DllMain in MFC Dll's
Rating:
Vijay Sharma - 01/29/2002
How to write your own DllMain in an MFC Dll.

Delegate in Standard C++
Rating:
Ben Chun Pong Chan - 01/28/2002
Implementing delegates in "unmanaged C++" by way of using the "external polymorphism" pattern.

Tree Class
Rating: none
Alexander Kovachev - 01/09/2002
Tree structures in C++.

Platform independent extensible log class
Rating: none
Chen Mingjie - 11/20/2001
The ability to log is commonly needed in every software project on every platform.

Win32 Resource API C++ Wrapper
Rating:
Peter Chiu - 10/31/2001
The classes presented in this article provides a simple interface for enumerating, adding and removing resources from Win32 image files (.dll/.exe).

STL Compatible Base64 Encoder
Rating: none
Konstantin Pilipchuk - 10/31/2001
A base64 encoder that can encode/decode data from/to i(o)streams, streambufs, memory buffers, etc.

Drive
Rating:
Ibrar Ahmad - 09/06/2001
Drive.dll is a dll that creates a drive to system directoryor drive similar to existing drives such as C:\.

Connection Pipe Classes
Rating:
Ion Tichy - 08/27/2001
Simple and fast communication between all types of MFC Applications on a single or multiple computers in Windows NT.

switch Statement Performance Consideration
Rating:
kirants - 08/23/2001
A suggestion for optimizing your switch statements.

Persistant Properties With C++ - the Readable Way
Rating: none
Adi Degani. - 08/08/2001
This article provides the means to work with any dictionary-like storage by using the [] operator for both read and write.

Switch on Strings in C++
Rating:
Stefan Ruck - 07/25/2001
A way to implement a switch on strings using pure standard C++.

A Powerful Function Parser
Rating:
Andreas Jdger - 03/01/2000
A Powerful Function Parser


Callbacks



Callback Functions Tutorial
Rating:
Marius Bancila - 09/16/2005
Learn what callback functions are, what they help us achieve, and how to use them.

C++ OO Callback Technique
Rating: none
Lloyd Williamsen - 12/29/2003
Write an callback method that is as object-oriented as possible.

C++ Callback Demo
Rating:
Elmue - 07/28/2003
See how callbacks can be done in a flexible way in C++!


Classes and Class Use



[Updated] Templated Visitor Base Class
Rating: none
JohnW@Wessex - 03/12/2008
Discover a templated visitor pattern base class designed to get around problems that some compilers that have with certain aspects of modern template techniques, particularly typelists and meta-programming.

Calling .NET from Unmanaged C++
Rating: none
Jim Dill - 02/01/2007
Learn how to develop C++ wrapper functions around .NET classes.

Animate a Modal Dialog
Rating:
Marius Bancila - 09/28/2006
Learn how to create a modal dialog with animations when shown or hidden.

Managed Extensions: Versioning Collection Classes
Rating:
Tom Archer - MSFT - 09/01/2004
Versioning your collections is important when the data held by a collection can be modified while a client is enumerating that data. Tom Archer presents a versioning technique he's told Microsoft uses internally.

Dynamic Creation of Thread-Separated Dialogs Having Only Its Class Name
Rating:
Dmitri Shorin - 04/06/2004
The article describes a way of creating class objects by naming its classes. This way permits you to create a new class object by calling a function or class method that receives as input parameters pointer to CRuntimeClass object. In general, it shows you how to design a mechanism that creates a user-selected dialog window in its own child thread.

Developing A Once-Only Initialised Class
Rating:
darwen - 12/04/2002
A templated base class for use when you want a once-only initialized static class.


Collections



Extending the STL: A Set of Ranges
Rating:
Yves Maurer - 02/05/2004
For advanced C++ programmers: Learn about a new type of container by viewing a simple example of how to write an STL-compatible container.


Compression



Zip and Unzip, the MFC Way
Rating: none
Tadeusz Dracz - 11/07/2000
MFC-based library that enables the creation, modification and extraction of PKZIP and WinZip archives


Drag and Drop



ENABLING Drag-and-Drop without OLE
Rating: none
Digitally Urs - 05/21/2003
Learn the basics for enabling drag and drop in your application using MFC.


Events



MFC Controls for Vista
Rating: none
Nick Wienholt - 09/04/2007
Microsoft Foundation Classes continue to play an important role for C++ developers. Discover how to upgrade an existing application with MFC 9's full support for the Windows Vista look-and-feel.

Programming the Windows Vista Event Log
Rating: none
Nick Wienholt - 08/04/2006
The Windows Vista Event Log offers a much richer experience than today's Event Log functionality. Dive into the code and tools that a C++ developer needs to use the new log.

Event Dispatching: One Size Doesn't Fit All
Rating:
Radu Braniste - 11/23/2005
Discover the possible implementations of a type safe event dispatching mechanism, based on the Multicast pattern, in the context of single-layered and multilayered receptors.

MFC and .NET: Handling .NET Events
Rating:
Tom Archer - MSFT - 08/09/2004
Tom Archer explains how to work around the inherent problems associated with handling .NET events from a mixed mode (MFC/Managed Extensions) application.

How to Work with Events in a C++ Class
Rating: none
Slavko Novak - 11/18/2002
If you want to create a C++ class that calls client functions (events), you can do that in two ways.


Exceptions



Improving Application Quality with Windows Error Reporting
Rating:
Nick Wienholt - 10/19/2009
Leveraging Windows Error Reporting (WER) to use Microsoft's existing infrastructure for providing end users with patches and workarounds, a critical aspect of the application life-cycle management.

CWinAPIException
Rating:
Ovidiu Cucu - 07/13/2009
MFC-extension class for handling Windows API errors

Using C++ Exceptions to Replace exit()
Rating:
Petko Popov - 08/12/2002
Learn how and why you should use C++ exceptions to replace the use of the exit() method in legacy code.


File I/O



Long File Name (LFN) Entries in the FAT Root Directory of Floppy Disks
Rating: none
Mufti Mohammed - 06/29/2007
Learn about the structure for LFN entries in the root directory and how to read LFN from the root directory of the FAT file system.

[Updated] FAT Root Directory Structure on Floppy Disk and File Information
Rating: none
Mufti Mohammed - 06/26/2007
Learn the FAT root directory structure on a floppy and how to retrieve information about the file (not file content) from it by using VC++.

Extract Floppy Disk Geometry from the Boot Sector
Rating: none
Mufti Mohammed - 06/06/2007
Learn how to read a floppy disk's geometry witout using DeviceIoControl on Windows XP.

How to Read a MS Outlook (.msg) File Using ATL and MFC
Rating: none
Mufti Mohammed - 04/04/2007
Learn about the structure of the MS Outlook .msg file format and how a VC++ application can extract data from this file.

[Updated] A UTF-16 Class for Reading and Writing Unicode Files
Rating:
Jeffrey Walton - 12/29/2006
Learn to use Unicode to perform file-based operations.

[Updated] The K.I.S.S. Approach to I/O Completion Ports
Rating:
Robert Simpson - 10/18/2004
I/O completion ports are the holy grail of performance. This article provides an extremely lightweight and open framework for easily implementing IOCP's in your application(s).

Managed Extensions: Parsing CSV Files with Regular Expressions
Rating:
Tom Archer - MSFT - 09/10/2004
Tom Archer illustrates how to parse comma-delimited text—when the data contains quotes, commas, and blanks—and return the data in a managed array.

Manage the Physical Dependencies of a Project to Reduce Compilation Time
Rating: none
Zeeshan - 03/30/2004
We make our projects in different files, not in a single file. We will do this because we want to reduce the compilation time during the development as well as reuse the code written in different files.

Non volatile variables and configuration settings for MFC applications
Rating: none
Ruben Jvnsson - 01/24/2002
This article describes two classes for storing and retrieving string, numeric and BOOL variables to/from files in ASCII text format - much like INI files.

Circular File
Rating:
Ibrar Ahmad - 11/14/2000
Generic C++ circular file implementation


Function Calling



TIP: Be Careful with Dummy Reference Arguments
Rating: none
Ashwin Kumar - 02/24/2009
Reference (output) arguments could be disastrous sometimes. Learn how to avoid these problems.

Function Calls, Part 4 (What Exactly Is "this"?)
Rating:
kirants - 02/14/2008
Learn about a dissasembly view of function calls, and decipher the __thiscall calling convention.

Function Calls, Part 2 (Stack and Calling Conventions)
Rating:
kirants - 01/23/2008
Read a dissasembly view of function calls, explaining organization of the stack and the behavior in the context of different calling conventions.

Function Calls, Part 1 (the Basics)
Rating:
kirants - 01/11/2008
Begin a journey into the inner workings of how function calls work on x86 platforms,

.NET Remoting with Events in Visual C++
Rating:
Kate Gregory - 04/13/2004
Learn how to add a button to a server application (a WinForm app with a big Listen button) and have the handler for the click event raise a custom event.

Working with Variable Argument Lists in Functions
Rating: none
Michael Uchitelev - 04/10/2001
Class to retrieve the arguments passed to the function with the variable number of parameters. Works for both _cdecl and _stdcall functions.


General



About size_t and ptrdiff_t
Rating:
Andrey Karpov - 10/12/2009
The article will help the readers understand what size_t and ptrdiff_t types are, what they are used for and when they must be used. The article will be interesting for those developers who begin creation of 64-bit applications where use of size_t and ptrdiff_t types provides high performance, possibility to operate large data sizes and portability between different platforms.

[Updated] TIP: Using Unions for Manipulating Bits
Rating: none
bat_lubo2001 - 06/12/2009
See how to set up a single bit!

32 OpenMP Traps for C++ Developers
Rating: none
Andrey Karpov - 07/30/2008
Pursue a description of a number of parallel code errors that lead to incorrect behavior of parallel programs created with OpenMP.

Visual C++ 2008 Feature Pack: MFC Enhancements
Rating:
Nick Wienholt - 05/12/2008
The Visual C++ 2008 Feature Pack incorporates C++ language changes that move C++ closer to the upcoming C++0x standard. The new language elements build on the powerful features of the C++ language, and include support for regular expressions, function objects, and a number of new STL containers as well as many other new features. Review some of the new language features, and see how they can be incorporated into C++ applications.

Scrolling and Zooming in a CDialog-Derived Class
Rating:
miteshpandey - 01/28/2008
Learn how to implement scrolling and zooming in MFC's Property Page.

Run-Time Type Checking in C++
Rating:
Ovidiu Cucu - 12/10/2007
Learn about different methods of run-time type checking in C++.

How to Handle Currencies
Rating:
Anwar-ul- Haque - 09/26/2007
Learn about a C++ mechanism to handle and manipulate different currencies.

How to Save and Load a Windows Region with MFC
Rating: none
Marc Gregoire - 04/12/2007
Learn how to save a Windows region to a file with CRgn::GetRegionData and how to load and re-create it with CRgn::CreateFromData the MFC way.

[Updated] A Deterministic Method of Determining a Document's Modified State
Rating:
Jeffrey Walton - 11/29/2006
Determine when a document has been modified. In the particular case of word processors, most tend to have a "dirty" flag that is set when a user types. This article demonstrates a smarter "dirty" flag that uses probabilistic methods.

Adding Logic Flow Control to Your Programming
Rating:
stoneyan - 08/25/2006
Learn how to write an event-driven program in logic flow instead of execution flow to increase readability, reduce bugs, and maintenance cost.

[Updated] Alternative Mechanism for Acessing Simple Dialog Items
Rating: none
Michael Furman - 07/13/2006
Learn about a new way to manipulate edit and static controls.

EAN13 Barcode Class
Rating:
Robert Tari - 06/13/2006
Learn about a lightweight class that prints EAN13 barcodes and displays captions.

Running State Machines-Based Win32/WinCE Programs
Rating:
JeromeWiz - 06/13/2006
Learn how to run state machine application framework-based Win32/WinCE programs using window message hooking technology.

MFC 8.0 and Windows Forms Integration, Part II
Rating: none
Nick Wienholt - 12/07/2005
Drill down deeper into MFC 8.0 with a look at control placement and event handling, the MFC classes used for the Windows Forms integration, and the Windows Presentation Foundation (formerly known as Avalon).

[Updated] Color Take
Rating:
Roger65 - 12/07/2005
Get pixels from the desktop.

MFC 8.0 and Windows Forms Integration, Part I
Rating:
Nick Wienholt - 11/02/2005
The migration path from MFC to fully native applications is a slow one because Windows Forms lacks many of the advanced features of MFC. See how much easier MFC 8.0 makes Windows Forms integration.

How to Display UNICODE Characters in a CListCtrl or a CEdit
Rating:
Alin - 08/09/2005
Here's an easy way to incorporate Unicode characters into your programming.

MySQLWrapp: MFC-Extension Library for MySQL
Rating:
Ovidiu Cucu - 06/28/2005
A collection of C++ classes for working with MySQL databases, easy to integrate in an MFC application.

Hypersplitter—a Splitter Manager
Rating: none
Andreas Mautsch - 12/02/2004
Learn about a class that can be used to create nested splitter with oo-code, by simply adding rows and views.

A 2D Lite Graph Control with Multiple Plot Support
Rating:
MycroftH - 11/23/2004
Discover a simple, lightweight 2D graph control that supports multiple plots as well as printing.

[Updated] BiSplitter 1.1
Rating:
Sergey Polyakov - 10/29/2004
BiSplitter is MFC-compatible class for creating a splitter window that looks like a Microsoft Outlook window.

[Updated] Constant Pointers and Pointers to Constants
Rating:
Bradley Jones - 04/16/2004
C++ 101—Before using const with your pointers, know its impact on your code!

Sliding Dialogs
Rating:
Ejaz Anwer - 04/02/2004
Derive your dialog class from CFloatingDialog and a couple of settings. You can create the sliding effects of the dialog in left, right, up, down and center directions from the other directions.

Flexible Screen Designer
Rating:
John Indigo - 03/18/2004
The dynamic screen classes allow you to incorporate advanced screen functionality into your MFC applications. The fundamental difference of these classes are that they work with the actual resource in your executable—this means that users of your applications can alter screens that have been designed by you using the MFC resource editor—they can make changes at run time.

Hottest Forum Q&A on CodeGuru - February 16th, 2004
Rating: none
Sonu Kapoor - 02/26/2004
Read about all the hot topics that have been on the CodeGuru forums this past week.


Linked Lists



Puzzle, a Game with the MFC Doc/View Architecture (SDI/MDI)
Rating:
Georges Dumond - 06/02/2005
Learn how to display a menu with thumbnails and several other windows, move and manage the pieces of a puzzle with a linked list, and then show them without flicker.

Hottest Forum Q&A on CodeGuru - February 22nd - 2004
Rating:
Sonu Kapoor - 03/01/2004
This week's topics include setting the focus of multiple items in a list control when a dialog is open, why a DOS application runs satisfactorily in Win98 but improperly in Win2000, why rand() always returns the same number, and resolving MFC Class conflicts.

Obtaining Direct Access to a Linklist Class' Elements
Rating: none
M YaZiR Aheer - 07/29/2002
Discover how to create a class which provides DIRECT access to individual elements in a Linked List.

Better Method of Creating/Deleting Linked Lists Nodes
Rating:
Ralph Varjabedian - 10/04/2000
Presents alternative to traditional methods of adding and removing nodes from linked lists


Memory Tracking



Application-Level Memory Management for Memory-Constrained Devices
Rating:
Raveendran Vadakkoot and Neeraj S. Sharma - 10/30/2007
Discover a faster and better dynamic memory allocation technique for real-time systems.

Enhance Your Dynamic Memory Allocation with an Undocumented MFC Class
Rating:
lano1106 - 02/14/2006
Learn to employ a small utility class that allows you to modify how objects for a given class are dynamically allocated.

Small Memory Allocation, Part 3
Rating: none
Radu Braniste - 04/15/2004
Review Reference Counting and other useful memory-related patterns.


Object Oriented Programming (OOP)



[Updated] Easy C++ - Delegates / Generic Properties / Closures / Thunks
Rating: none
Ali Imran - 09/18/2009
Implement delegates in C++ (which normally most of C++ compilers don't support) in a way that is really easy and that is cross-compiler compatible.

A Case study on MFC
Rating:
Issam Lahlali - 06/17/2009
MFC Analysis with CppDepend.

A Fast Version of Conway's Game of Life with Thread and DirectX Draw
Rating: none
Jerry Jiang - 04/14/2009
Sample code for a fast version of Conway's Game of Life with thread and DirectX draw.

A Multidevice ASIO Output Plugin for WinAMP
Rating: none
Domagoj Saric - 02/19/2009
Explore a C++ replacement of the official ASIO SDK that supports multiple ASIO devices put to the test in a tiny WinAMP output DLL.

Basic Concept of Memory Management in a C++ Class
Rating:
Anpino - 04/08/2008
Explore an elementary quiz about the basic concept of memory management in standard C++.

Web Site Blocker that Uses Browser Helper Objects (BHO)
Rating:
milindsm - 03/28/2006
Learn how a BHO (Browser Helper Object) could be used to block a particular Web site.

Using Interfaces in C++
Rating:
Jose Lamas Rios - 06/27/2005
Learn about an easy way to define and use the interface pattern in C++

Interface Basics
Rating:
Yaron Nir - 08/11/2003
Discover the basic concepts of an interface. The article is a brief introduction to what is actually going on behind the scenes of an interface. This article is intended for software programmers who have never been exposed to the COM technologies.

Understanding Virtual Functions with Inherited Classes
Rating: none
Gustavo Parés - 10/08/2002
When doing OOP, you will quickly run into virtual functions. Get the technical background about virtual functions--how they work and how they are used. This includes an example of a running application that uses virtual functions on polymorphic derived classes.


Parsing



Write Your Own Regular Expression Parser
Rating:
Amer Gerzic - 11/17/2003
Learn the principles behind regular expressions.

CParser'—A Simple File Parser
Rating:
Peter Gliwa - 08/01/2003
When there is the need to parse a file and a "real" parser would be oversized for the job, this rather simple parser might be an alternative.

Implementing CustomDraw into Your Project
Rating:
Sakthivel Sugumaran - 09/09/2002
By using CustomDraw, the colors can be set for individual items. In this article, the step-by-step implementation is shown.

Words and Lines Counting Utility
Rating:
Vinoj Kumar - 08/29/2002
This utility is very useful for counting the number of lines and words in programs or text files. It is a very simple utility, but it is also very powerful.

Number To English Translation
Rating: none
neumeier - 09/27/2000
Useful class that enables you to display the textual representation of a number (for things such as check writing applications)


Patterns



MFC and Design Patterns
Rating:
T. Kulathu Sarma - 07/09/2001
Gain an overview on what a design pattern is and how they employed in developing MFC library.

Observer Pattern Class
Rating: none
Ray Virzi - 05/04/2000
Provides a very fine C++ implementation of the Observer Pattern (implementing cyclic updates, self reference, etc.)


Pointers



C++ Resource Management with shared_ptr
Rating:
Nick Wienholt - 08/17/2009
Correctly managing the release of heap-allocated memory and other resources has been one of the great challenges of C and C++ development for decades. The new shared_ptr class, shipping with Visual Studio 2008 SP1 and Visual Studio 2010, makes dealing with resource management dramatically simpler.

[Updated] Pointer-to-Pointer and Reference-to-Pointer
Rating:
Wong Shao Voon - 04/28/2009
Learn the reason behind using pointer-to-pointer and reference-to-pointer to modify a pointer passed to a function, to understand their usage better.

Lovely Pointers
Rating:
Alex Rest - 06/11/2003
A beginning-level article covering the problems, bugs, and technique solutions that correspond to using pointers.

DELEGATES and C++
Rating: none
Fabien Lebourg - 06/08/2001
This article shows an implementation of delegates.


Portability



[Updated] A Personal Virtual Keyboard for (nearly) Every Keyboard
Rating:
David Kelvin - 09/02/2009
Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.

Visual C++ 2008 Feature Pack: MFC Enhancements
Rating:
Nick Wienholt - 04/07/2008
Hot on the heels of the significant MFC updates that were delivered with the release of Visual Studio 2008, the Visual C++ 2008 Feature Pack significantly boosts the ability of MFC to deliver modern-looking user interfaces that will be familiar to Windows and Office users. Look at these new controls and see how MFC developers can significantly improve their application's look and feel.

Breaking Changes in Visual C++ 2005
Rating:
Bradley Jones - 03/30/2005
There are a number of changes in Visual C++ 2005 that can break your existing programs. The Visual C++ product team has identified some of the changes most likely to impact you.

[Updated] Multi Platform Plugin Development Made Easy!
Rating:
Andreas Loeffler - 05/26/2004
Learn how to develop and use multi platform plugins easily using the Simple Plugin Layer (SPL) Library.

Writing Portable Code in C++'—A Vectors and String Issue
Rating: none
Zeeshan - 12/12/2003
Even when you are coding to standards, portability isn't a guarantee for C++ programs. Discover how to avoid an issue with vectors and strings.

Writing Portable Code in C++'—Variable Scope
Rating: none
Zeeshan - 12/11/2003
Even when you are coding to standards, portability isn't a guarantee for C++ programs. Discover how to avoid an issue with variable scope.


RTTI



Advanced Run Time Type Identification in C++ : Property Library
Rating: none
Peter Barczikay and Andras Tantos - 12/16/2003
See how to implement an advanced RTTI system.

Advanced Run Time Type Identification in C++'—Part I: Requirements
Rating: none
Peter Barczikay and Andras Tantos - 12/15/2003
Learn about the application and requirements of creating an advanced RTTI system.


Serialization



Managed Extensions: Implementing Custom Serialization
Rating:
Tom Archer - MSFT - 10/05/2004
Tom Archer introduces a step-by-step technique for versioning your serialized files so that your application can handle current and older file formats, as well as properly deal with situations where the application is older than the file format being read.

Defining XML Serializable Objects Using Macros (not yet reviewed)
Rating: none
Aliaksei Sanko - 10/01/2004
The prototype presented allows defining XML serializable objects using macros in an attributes-like manner.

Uniquely Identifying Serialized Files with Managed C++
Rating:
Tom Archer - MSFT - 05/20/2004
In this week's .NET Tips & Techniques column, Tom Archer presents a step-by-step approach to uniquely identifying your serialized files using Managed Extensions, custom serialization, and GUIDs.


Singletons



In Search of a Perfect Singleton
Rating:
The Saint - 09/26/2006
Learn how one person tried to come up with the perfect singleton. The article explores real-time experience and explains in the common developer's perspective.

Static Parameter Class
Rating: none
Kerry Barnes - 02/13/2001
Technique for providing a global set of parameters to multiple threads such as to avoid the inefficient instantiation of an object for each client


Standard Template Library (STL)



A TR1 Tutorial: Smart Pointers
Rating:
Marius Bancila - 07/16/2008
Learn about the new smart pointers available in the standard library, shared_ptr and weak_ptr.

A TR1 Tutorial: Regular Expressions
Rating:
Marius Bancila - 07/02/2008
Discover an overview on the algorithms and classes for regular expression in TR1, with examples for matching, searching, and replacing.

A TR1 Tutorial: Generating Random Numbers
Rating: none
Marius Bancila - 06/30/2008
TR1 introduces new random number generators and distribution classes for producing numbers with a specific distribution. Learn how to use these new classes.

A TR1 Tutorial: Unordered Containers
Rating:
Marius Bancila - 06/19/2008
Learn about the unordered containers available in TR1 and see examples for using them.

A TR1 Tutorial: Class std::tr1::tuple
Rating:
Marius Bancila - 06/17/2008
Learn how to use std::tr1::tuple, an implementation of a heterogeneous fixed size sequence from the VC++ 2008 Feature Pack.

A TR1 Tutorial: Class std::tr1::array
Rating: none
Marius Bancila - 06/09/2008
Learn how to use std::tr1::array, an implementation of a fixed size sequence from the VC++ 2008 Feature Pack.

Distributed Network Object
Rating:
Ejaz Anwer - 10/22/2007
Learn to use the "Network Distributed Object Model" to have a simplified way of performing network communication at the object level.

[Updated] STL Serialization Library
Rating:
Aniruddha Jahagirdar - 10/26/2006
The STL Serialization Library can serialize and load STL objects from a file. The serialization-file format can be customised as needed.

Function Objects (STL)
Rating:
Gabriel Fleseriu and Andreas Masur - 02/22/2006
Work through a definitive exploration of the Function Objects.

Allocators (STL)
Rating:
Gabriel Fleseriu and Andreas Masur - 02/10/2004
Learn how STL containers separate the implementation of their memory allocations from the details of the underlying physical memory management by using so-called allocators.

COAP'—Container of auto_ptr
Rating:
Zeeshan - 11/03/2003
Avoid confusion and learn how to make an array that has different data types or, more appropriately, an array of objects of different classes.

Working with the Final Class in C++
Rating:
Zeeshan - 06/26/2003
Learn why you shouldn't inherit from an STL class. More importantly, learn about the Final class and why it is needed.

A Beginner's Tutorial For std::vector, Part 1
Rating:
Gabriel Fleseriu - 02/25/2003
This tutorial is meant to help beginning and intermediate C++ programmers get a grip on the standard template class. (The article was updated.)


Templates



BOOST Multi-Index Container and Transaction Storage
Rating: none
Constantin Fishkin - 06/10/2009
Learn how to implement s multi-index collection.

STL and BOOST Parsing Iterators
Rating:
Constantin Fishkin - 05/19/2009
Discover an example of a parsing iterator. You'll find that the BOOST library provides convenient tools for an efficient iterator implementation, specifically, the boost::iterator_facade class.

Dynamic Data Grouping Using MS Reporting Services
Rating:
Asif Sayed - 10/17/2006
Discover new ways to "pretty up" your reports and perhaps get you noticed at the office.

STL.NET: Combining Generics and Templates
Rating: none
Nick Wienholt - 08/01/2005
STL.NET provides a bridge between the worlds of traditional C++ templates and .NET generics. By allowing C++ developers to leverage their STL skills without precluding interaction with developers using other .NET languages, STL.NET promises the best of both worlds.

Generic Notifiers: Message Passing in C++
Rating:
PlugwareSolutionsLtd - 04/29/2004
Notifiers make anonymous communication between objects in a system possible. They are also easy to understand, providing a seamless migration as new developers are introduced to a project. This article describes the design and implementation of Notifiers in C++.

SortKeyToMultiValueContainer C++ Container Template
Rating: none
Luca Missora - 03/09/2004
A simple and practical approach to manage a set of data in memory: insertion, sorting, searching by key and scanning of the result set.

Simulating Multiple Inheritance Under MFC by Using C++ Templates
Rating: none
Michal Sevcenko - 04/01/2003
Simulate multiple inheritance under MFC by using C++ templates.

Creating a Practical C++ Template
Rating: none
Ben Chan - 08/30/2002
Learn about the practical use of a template as well as a little bit about meta-programming.

Template Mania
Rating: none
Aliaksei Sanko - 10/19/2001
MFC has two validating macros: ASSERT_VALID for CObject-based classes and ASSERT_POINTER for others. We introduce a single template function that supersedes both of them

Extended Array Template Like CArray
Rating: none
Chetan Joshi - 08/07/2001
This template implements an abstract MFC style class and provides additional functionality of sorting the data internally over NUM_SORTFLDS simultaneously.

std::ostream Implementation for Text Output with CWnd-derived Controls
Rating: none
G. Makulik - 11/03/2000
Enables you to do text output to MFC CWnd controls in a portable fashion!

A Safer STL Container Class
Rating: none
Alex Kravchenko - 11/01/2000
Technique to allow STL containers to verify object's state to ensure object has not been deleted


Tutorials



Opening Modal Managed Windows from MFC
Rating:
Marius Bancila - 08/28/2009
This article explains how one can use WPF and Windows Forms windows from native code as modal windows, and what are the problems that can arise and what are the solutions.

Visual Modeling of Complex Reactive Systems
Rating: none
JeromeWiz - 05/28/2009
Check out this commercial-grade cross-platform Harel UML StateChart open-source application framework named StateWizard for concurrent, distributed, and real-time reactive system development with simplicity, efficiency, and scalability.

Optimizing 64-Bit Programs
Rating: none
Andrey Karpov - 12/15/2008
Discover some ways to increase the performance of 64-bit Windows applications.

The Anatomy of a C++ Program
Rating: none
Bradley Jones - 09/04/2008
C++ programs consist of classes, functions, variables, and other component parts. To get a sense of how a program fits together, you must see a complete working program.

MFC Feature Pack: An Introduction
Rating:
Marius Bancila - 03/11/2008
Learn about MFC Feature Pack, a Microsoft extension to MFC that allows developers to enable Office 2007, Visual Studio, or IE look and feel to their VC++ applications.

SDI Application with MDI Child Windows in Static Splitter Pane
Rating:
John Z. Czopowik VC++ MVP - 12/31/2007
In an MDI application, the MDI client is a child of the top-level window. Learn to use this special window as a child of another child.

Visualizing Point Data with NZR
Rating: none
Imran Khan - 08/28/2007
Use the NZR framework to visualize point data in 3D space.

Simple Thread: Part I
Rating:
Arjay - 08/23/2007
Learn about methods to start, pause, resume, and stop a thread by using _beginthreadex in an MFC dialog application. The sample shows how to update a MFC control as well as how to properly shut down a thread.

[Updated] DLL Tutorial For Beginners
Rating:
Notsosuperhero - 08/06/2007
Learn how to create and implement DLLs without MFC.

Multiple Views Layout Without a Splitter
Rating: none
John Z. Czopowik VC++ MVP - 01/25/2007
Learn how to show multiple views in a frame window without using a splitter.

Resource DLLs and Language Selection Menu
Rating:
swautier - 12/13/2006
CLanguageSupport: With a few lines of code, add automatic UI language selection and a language selection menu to your app. CLanguageSupport is your resource DLLs manager (also known as satellite DLLs).

Library for MFC Applications' Localization Using Resource-Only DLLs
Rating:
Sergey Markov - 06/09/2006
Multilingual Library adds multiple UI languages' support to your MFC application.

[Updated] Setting Up OpenGL in an MFC Control
Rating:
Brett Fowle - 03/14/2006
Learn how set up an OpenGL rendering context inside an MFC control and make use of the timers MFC has to offer.

[Updated] An Introduction to Assembly Language: Part I
Rating:
darwen - 04/01/2005
This article, the first in a series, shows how to write and compile files containing assembly language using Visual C++.

[Updated] An Introduction to Assembly Language: Part II
Rating:
darwen - 04/01/2005
This article covers registers, functions, and a few important assembly language instructions.

[Updated] An Introduction to Assembly Language: Part III
Rating:
darwen - 04/01/2005
The third and final part of the series of tutorials on Assembly language. This covers the most commonly used instructions and some of the macros in MASM that make life so much easier for the Assembler developer.

An AutoUpdate Trick
Rating:
SEllis - 03/16/2005
Learn about a simple automatic update trick that you can use in your applications.

[Updated] Implementing an Array of Buttons: The Shuffle Game
Rating:
Veena Pai - 08/26/2004
Manage a group of buttons as an array in VC++.

Using "Thin Templates" to Reduce Application Size
Rating:
Gregor Petrov - 08/13/2004
The "Thin Templates" technique allows you to use templates with minimum application size penalties.

High-Performance Computing, Part 1
Rating:
Vincent Leong - 07/30/2003
Boost your application computing performance to the optimum by using hardware acceleration.

Using MFC For Drag '& Drop, Cut, Copy, and Paste
Rating:
Alex Rest - 03/28/2003
Learn to program the process of moving groups of files from one application to another by using drag '& drop, cut, copy, and paste.

Elementary Use of the Program "make"
Rating: none
Luigi Santillo - 06/24/2002
Learn where "make" fits in the process of developing an application and see an example of using it with multiple file compilation.

MFC .DLL TUTORIAL, PART 1
Rating:
Andrew Fenster - 03/06/2002
Learn about the kinds of .DLLs you can make using MFC and the advantages of each kind. Also learn how to create a .DLL and how to set up a client application to use it.

MFC .DLL TUTORIAL, PART 2
Rating:
Andrew Fenster - 03/06/2002
Learn about the problems that can arise when you use .DLLs. Also learn how these problems can be avoided.

MFC .DLL TUTORIAL, PART 3
Rating:
Andrew Fenster - 03/06/2002
This third part builds on the previous two by providing more coding examples and technical details.

MFC Under the Hood
Rating:
Andrew Fenster - 06/27/2001
This article demystifies some of the arcane code created by the MFC Wizards.

Using Better Tracing to Understand the Doc/View Architecture
Rating: none
Mark Messer - 01/14/2001
Great way to peek at what's going on "under the hood" in your document/view applications

Visual C++/MFC Tutorial - Lesson 7: Data Viewer
Rating:
Brian Martin - 08/11/2000
In the final installment of Brian's tutorial, you put to use what you've learned the past week by coding a sample data viewer application

Visual C++/MFC Tutorial - Lesson 6: SDI and MDI Applications
Rating:
Brian Martin - 08/10/2000
In this penultimate part of the series, Brian teaches you the basic of creating doc/view applications

Visual C++/MFC Tutorial - Lesson 5: Dialog-Based Applications
Rating:
Brian Martin - 08/09/2000
In this installment of the series, Brian covers the basics of dialogs and dialog-based applications

Visual C++/MFC Tutorial - Lesson 4: MFC Basics
Rating:
Brian Martin - 08/08/2000
Start dipping your toes in the MFC waters in preperation for the really cool stuff

Visual C++/MFC Tutorial - Lesson 3: Visual C++ IDE and Workspaces
Rating:
Brian Martin - 08/06/2000
Third installment of the seven-part Visual C++ tutorial series

Visual C++/MFC Tutorial - Lesson 1: Behind the Scenes with Handles and Messages
Rating:
Brian Martin - 08/05/2000
This is the first in an installment of great Visual C++ / MFC tutorials from Brian Martin

Visual C++/MFC Tutorial - Lesson 2: C++ Essentials
Rating:
Brian Martin - 08/05/2000
Before jumping into MFC specifics, Brian now leads you through a quick C++ class to get you prepared for the next step








The Network for Technology Professionals

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers