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: none 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 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.
CBitPointer: Easy Bit Manipulation
Rating: none Ahmad Hawwash - 09/17/2002 Bits can't be accessed directly as a simple data type. This article shows how to manipulate bits (nearly) as any simple data type.
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.
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.
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.
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++.
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.
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++.
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.
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 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.
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] 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.
Circular File
Rating: Ibrar Ahmad - 11/14/2000 Generic C++ circular file implementation
Function Calling 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 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.
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.
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).
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.
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.
[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.
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.
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.
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) 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++.
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.
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 Pointer-to-Pointer and Reference-to-Pointer
Rating: Wong Shao Voon - 09/02/2003 Learn the reason behind using pointer-to-pointer and reference-to-pointer to modify a pointer passed to a function, to better understand their usage.
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.