Button Controls
General
XGlyphButton - a simple image button control
Last Updated: 10 Mar 2004 Page views: 40,055 Rating: 4.2/5 Votes: 18 Popularity: 5.3
XGlyphButton is a simple CButton-based control that allows you to display an image without the need for owner-draw control.
Unedited Reader Contributions
XButtonXP - an XP-aware pushbutton that can also toggle and display an icon
Last Updated: 20 Apr 2005 Page views: 40,377 Rating: 4.4/5 Votes: 27 Popularity: 6.4
XButtonXP is an XP theme-aware pushbutton that can optionally be used as a toggle button. It can also display an icon with or without text.
XEmphasisButton - bold and underlined text in a non-ownerdraw button
Last Updated: 16 Aug 2006 Page views: 1,498 Rating: 5.0/5 Votes: 15 Popularity: 5.9
XEmphasisButton allows you to display buttons with bold and underlined text without requiring ownerdraw. This means that the button is perfectly compatible with XP themes, and also works on previous Windows versions.
C++ / MFC
Data Structures
XBitArray - a non-MFC C++ class to manipulate bits in a bit array.
Last Updated: 11 Feb 2004 Page views: 21,007 Rating: 4.1/5 Votes: 22 Popularity: 5.4
XBitArray provides functions to set, test, and find bits in an array of bytes.
General
XGetopt - A Unix-compatible getopt() for MFC and Win32
Last Updated: 21 May 2003 Page views: 62,453 Rating: 4.7/5 Votes: 36 Popularity: 7.3
XGetopt provides drop-in Unix-style command line processing for Win32 and MFC applications
XZip and XUnzip - Add zip and/or unzip to your app with no extra .lib or .dll
Last Updated: 14 May 2003 Page views: 107,091 Rating: 4.6/5 Votes: 68 Popularity: 8.5
XZip and XUnzip provide non-MFC functions to create a zip, add files to it, and extract files from it - all in two .cpp files
Combo and List Boxes
ComboBox Controls
XTipComboBox - Display tooltips for combobox
Last Updated: 2 Jul 2003 Page views: 65,620 Rating: 4.3/5 Votes: 17 Popularity: 5.3
XTipComboBox implements a combobox with tooltips for the data items (both in the list box and in the edit box)
Listbox Controls
XListBox - Owner-draw CListBox with selectable text and background colors
Last Updated: 21 Mar 2002 Page views: 83,337 Rating: 4.6/5 Votes: 22 Popularity: 6.1
XListBox is an owner-draw listbox that provides printf-style formatting and selection of text and background colors
Debug tips
General
XCrashReport : Exception Handling and Crash Reporting - Part 1
Last Updated: 20 Oct 2003 Page views: 45,512 Rating: 4.8/5 Votes: 45 Popularity: 7.9
Add basic exception handling and crash reporting to your application
XCrashReport : Exception Handling and Crash Reporting - Part 2
Last Updated: 20 Oct 2003 Page views: 26,249 Rating: 4.7/5 Votes: 22 Popularity: 6.3
Add basic exception handling and crash reporting to your application
XCrashReport : Exception Handling and Crash Reporting - Part 3
Last Updated: 20 Oct 2003 Page views: 35,614 Rating: 4.7/5 Votes: 35 Popularity: 7.3
Add basic exception handling and crash reporting to your application
XCrashReport : Exception Handling and Crash Reporting - Part 4
Last Updated: 20 Oct 2003 Page views: 69,459 Rating: 4.7/5 Votes: 47 Popularity: 7.9
Add basic exception handling and crash reporting to your application
Dialog and Windows
Dialogs
XBrowseForFolder - Wrapper for SHBrowseForFolder
Last Updated: 25 Sep 2003 Page views: 37,955 Rating: 4.7/5 Votes: 39 Popularity: 7.4
XBrowseForFolder wraps the SHBrowseForFolder API, provides a way to specify an initial directory, and cleans up the SHBrowseForFolder dialog.
XCharMap - A dialog to display a character map
Last Updated: 4 Jun 2003 Page views: 34,132 Rating: 4.2/5 Votes: 15 Popularity: 4.9
XCharMap demonstrates the use of CXCharMap, a class that displays a character map similar to the Windows Character Map utility.
XFolderDialog - a folder selection dialog based on CFileDialog
Last Updated: 22 Mar 2005 Page views: 29,328 Rating: 4.7/5 Votes: 28 Popularity: 6.7
XFolderDialog provides a folder selection dialog like that used in MS Word.
XFontDialog - Customizing CFontDialog Part I: Adding Font Filters
Last Updated: 22 Jun 2003 Page views: 33,960 Rating: 4.6/5 Votes: 21 Popularity: 6.0
XFontDialog demonstrates how to customize CFontDialog by removing unwanted controls
XHTMLTipOfTheDay - HTML Tip of the Day Dialog
Last Updated: 15 Jun 2004 Page views: 14,637 Rating: 4.1/5 Votes: 7 Popularity: 3.5
XHTMLTipOfTheDay is a Tip of the Day dialog that displays HTML and has forward and back buttons.
XMessageBox - A reverse-engineered MessageBox()
Last Updated: 14 Jan 2004 Page views: 131,805 Rating: 4.6/5 Votes: 90 Popularity: 9.0
A reverse-engineered MessageBox() that includes custom checkboxes
General
XDialogImport - How to share dialogs between projects
Last Updated: 19 Jun 2003 Page views: 26,562 Rating: 4.7/5 Votes: 23 Popularity: 6.5
XDialogImport describes a simple and effective method for sharing frequently-used dialogs between projects, using some documented and some poorly documented techniques.
Unedited Reader Contributions
XKeyboard - on-screen keyboard
Last Updated: 4 Apr 2005 Page views: 24,729 Rating: 4.3/5 Votes: 15 Popularity: 5.0
XKeyboard eliminates the threat of keyloggers by allowing the user to enter a password by clicking on buttons displayed on an on-screen keyboard.
Windows Common dialogs
XFileDialog - Customizing CFileDialog
Last Updated: 24 Jun 2003 Page views: 58,751 Rating: 4.6/5 Votes: 14 Popularity: 5.3
XFileDialog demonstrates how to customize CFileDialog by adding a MRU combobox for folders.
DLLs
Beginners
Step by Step: Calling C++ DLLs from VC++ and VB - Part 1
Last Updated: 29 Feb 2004 Page views: 122,478 Rating: 4.4/5 Votes: 74 Popularity: 8.2
This series of articles is a step-by-step guide to constructing C++ DLLs that include C++ functions and C++ classes, and then calling the DLL functions and classes from VC++ and VB programs.
Step by Step: Calling C++ DLLs from VC++ and VB - Part 2
Last Updated: 29 Feb 2004 Page views: 84,312 Rating: 4.4/5 Votes: 32 Popularity: 6.7
This series of articles is a step-by-step guide to constructing C++ DLLs that include C++ functions and C++ classes, and then calling the DLL functions and classes from VC++ and VB programs.
Step by Step: Calling C++ DLLs from VC++ and VB - Part 3
Last Updated: 29 Feb 2004 Page views: 47,997 Rating: 4.3/5 Votes: 33 Popularity: 6.6
This series of articles is a step-by-step guide to constructing C++ DLLs that include C++ functions and C++ classes, and then calling the DLL functions and classes from VC++ and VB programs.
Step by Step: Calling C++ DLLs from VC++ and VB - Part 4
Last Updated: 3 Mar 2004 Page views: 82,960 Rating: 4.2/5 Votes: 36 Popularity: 6.5
This series of articles is a step-by-step guide to constructing C++ DLLs that include C++ functions and C++ classes, and then calling the DLL functions and classes from VC++ and VB programs.
Files and Folders
General
XFile - Extending the Win32 File API for Server Applications
Last Updated: 20 May 2003 Page views: 52,244 Rating: 4.5/5 Votes: 35 Popularity: 7.0
XFile extends the Win32 file functions with a non-MFC class that includes functions to implement file rollover, file shrinking, file compare, buffered writes, mapped file reads, zipping, and automatic file size limits.
XFileProperties - A modeless dialog to display file properties
Last Updated: 14 Jun 2003 Page views: 24,116 Rating: 4.5/5 Votes: 12 Popularity: 4.9
XFileProperties demonstrates the use of CXFileProperties, a class that displays a modeless dialog similar to the Windows file properties dialog.
XHtmlLog - Convert text log files to HTML
Last Updated: 31 May 2003 Page views: 25,553 Rating: 4.3/5 Votes: 12 Popularity: 4.7
XHtmlLog converts delimited text log files to HTML for display by a browser. Callback functions allow the output to be customized prior to HTML generation.
XReverse - Reverse a text file using memory-mapped files
Last Updated: 15 May 2003 Page views: 32,153 Rating: 4.4/5 Votes: 7 Popularity: 3.7
XReverse reverses a text file line-by-line, so that what was the last line becomes the first line. This is useful when you want to view server logs, for example, with the latest line displayed at the top. Memory-mapped
files helps to make XReverse very fast.
Fonts & GDI
Fonts
Finding a Font file from a Font name
Last Updated: 11 Jul 2001 Page views: 48,459 Rating: 4.8/5 Votes: 16 Popularity: 5.7
How to find the name of a font file, given the display name of a font
XFont - Get font name and file information
Last Updated: 22 May 2003 Page views: 24,878 Rating: 4.4/5 Votes: 8 Popularity: 4.0
XFont retrieves the name of the font file from the regsitry, and the font name from the font file
XFontCombo - An OpenType-aware font combobox
Last Updated: 27 May 2003 Page views: 27,205 Rating: 4.1/5 Votes: 16 Popularity: 5.0
XFontCombo demonstrates the use of IsOpenType(), a function that determines if a font is OpenType
Free Tools
Tools with source code
XCmyk - CMYK to RGB Calculator with source code
Last Updated: 6 Jul 2003 Page views: 52,784 Rating: 4.3/5 Votes: 15 Popularity: 5.0
XCmyk implements an RGB to CMYK calculator
XTimer - Timer and Stopwatch Utility with source code
Last Updated: 14 Jun 2003 Page views: 36,683 Rating: 4.2/5 Votes: 17 Popularity: 5.2
XTimer provides countdown timer and stopwatch features in a compact MFC dialog app.
Unedited Reader Contributions
XCPClock - CodeProject Clock
Last Updated: 24 Mar 2006 Page views: 9,053 Rating: 4.7/5 Votes: 33 Popularity: 7.2
XCPClock displays CodeProject clock with four skins.
Internet & Network
General
XWSAError - a DLL for Winsock error lookup
Last Updated: 6 Jan 2005 Page views: 9,968 Rating: 4.6/5 Votes: 17 Popularity: 5.6
Add Winsock error lookup to your C++ or VB app with this DLL.
Unedited Reader Contributions
Single Server, Multiple Clients - Win32/MFC classes for client/server communication with
Unicode support
Last Updated: 26 Jan 2005 Page views: 18,484 Rating: 4.3/5 Votes: 18 Popularity: 5.4
An implementation of Liyang Yu's classes for client/server communication for both Win32 and MFC, with Unicode and ANSI support.
XIPAddressCtrl - an enhanced IP address control based on CIPAddressCtrl
Last Updated: 5 Jan 2005 Page views: 13,407 Rating: 3.8/5 Votes: 14 Popularity: 4.4
XIPAddressCtrl adds string handling and profile read/write functions to CIPAddressCtrl.
List Controls
Extending the List Control
XListCtrl - A custom-draw list control with subitem formatting
Last Updated: 9 Feb 2005 Page views: 358,711 Rating: 4.8/5 Votes: 190 Popularity: 11.0
A custom-draw list control with support for subitem colors, bold font, progress bars, and checkboxes.
Menus
General
XPrintHeader - Choose page header format using "More like this" popup menus
Last Updated: 31 Jul 2003 Page views: 21,258 Rating: 4.5/5 Votes: 13 Popularity: 5.0
XPrintHeader implements a dialog that allows the user to choose the formatting for a page header by dynamically created popup menus.
Miscellaneous Controls
Custom Controls
XScrollBar - Scroll bar like Windows Media Player's
Last Updated: 21 Sep 2004 Page views: 45,293 Rating: 4.7/5 Votes: 62 Popularity: 8.4
XScrollBar is a scroll bar that may be displayed with optional thumb color, thumb gripper, and channel color
General
ResizeScrollbar - How to change width of built-in scroll bars
Last Updated: 8 Feb 2002 Page views: 47,714 Rating: 4.6/5 Votes: 11 Popularity: 4.8
Changing scroll bar width for Windows controls like listbox
XHyperLink - yet another hyperlink control
Last Updated: 17 Oct 2003 Page views: 19,957 Rating: 4.7/5 Votes: 16 Popularity: 5.6
XHyperLink is a simple drop-in hyperlink control with optional parent notification.
Unedited Reader Contributions
XAnalogClock - a skinnable analog clock
Last Updated: 20 Jul 2006 Page views: 16,822 Rating: 4.8/5 Votes: 50 Popularity: 8.2
XAnalogClock displays a nice-looking skinnable analog clock in a small memory footprint.
XColourPicker - yet another colour picker control
Last Updated: 10 Jan 2006 Page views: 8,617 Rating: 4.8/5 Votes: 17 Popularity: 5.9
XColourPicker is a simple drop-in colour picker.
XSudokuWnd - a control that implements the Sudoku puzzle
Last Updated: 17 Jan 2006 Page views: 23,122 Rating: 4.9/5 Votes: 62 Popularity: 8.7
XSudokuWnd is an MFC control that implements a solver for the popular Sudoku puzzle, based on D.E. Knuth's Dancing Links algorithm. Example projects show how to use XSudokuWnd in dialog and SDI applications.
XSuperTooltip - Office 2007 Super Tooltip class
Last Updated: 31 Jul 2006 Page views: 9,979 Rating: 4.8/5 Votes: 76 Popularity: 9.0
XSuperTooltip implements class for displaying super tooltips, which were introduced in Office 2007. The demo download includes super tooltip code generator, that makes it easy to add super tooltips to your application.
Static Controls
Custom Controls
XHTMLStatic - An extra-lean custom control to display HTML
Last Updated: 17 Aug 2006 Page views: 77,835 Rating: 4.6/5 Votes: 30 Popularity: 6.8
A custom control based on CStatic that interprets and displays common HTML text formatting elements such as bold, italic, color, font, and size, but adds only 16 Kb to your app.
General
XColorStatic - a colorizing static control
Last Updated: 17 Oct 2003 Page views: 38,646 Rating: 4.6/5 Votes: 23 Popularity: 6.3
XColorStatic is a simple CStatic-based control that provides font changes, text and background colors, and icon display.
String
General
XMemString - Extended memory and string search functions
Last Updated: 12 May 2003 Page views: 22,756 Rating: 3.5/5 Votes: 12 Popularity: 3.8
Extended string and memory search functions: memmem(), memimem(), memichr(), _tcsistr()
XTrim - trim leading and trailing whitespace characters
Last Updated: 21 May 2003 Page views: 30,717 Rating: 4.3/5 Votes: 6 Popularity: 3.3
XTrim implements _tcsltrim and _tcsrtrim - CRT-like functions to trim whitespace.
Text Conversion
XFormatNumber - A function to format numbers with commas
Last Updated: 26 Jun 2002 Page views: 27,033 Rating: 4.6/5 Votes: 9 Popularity: 4.4
An easy-to-use function that provides locale-correct comma-formatting of numbers
Unedited Reader Contributions
XSearch - a class that implements a search engine-style advanced search
Last Updated: 26 Jul 2005 Page views: 13,564 Rating: 4.8/5 Votes: 22 Popularity: 6.4
XSearch implements a search engine-style advanced search, including ALL, EXACT PHRASE, AT LEAST ONE, and WITHOUT words. XSearch is based on a multiple-substring search algorithm.
XTokenString - a function to extract tokens from a string
Last Updated: 4 Aug 2005 Page views: 8,417 Rating: 4.6/5 Votes: 15 Popularity: 5.5
XTokenString extracts tokens from a string and returns CStringArray that contains tokens. A token is defined by specified delimiters; double-quotes may optionally group multiple words into a single token, and an option
provides for handling escaped characters.
System
Event Logging
Event Logging, Part I: XEventLog - Basic NT Event Logging
Last Updated: 23 Apr 2003 Page views: 52,479 Rating: 4.8/5 Votes: 43 Popularity: 7.9
XEventLog shows how to integrate minimalist NT event logging into your application
General
Windows Version Numbers
Last Updated: 12 Jul 2001 Page views: 45,248 Rating: 4.5/5 Votes: 25 Popularity: 6.2
Values returned by GetVersionEx for Windows operating systems
XWinVer - Simple class to get Windows OS version
Last Updated: 23 Mar 2005 Page views: 11,904 Rating: 4.4/5 Votes: 17 Popularity: 5.4
Get Windows OS version and service pack info in numeric and string formats.
Threads, Processes & IPC
Inter-Process Communication
XQueue - a non-MFC C++ class to manage an interprocess queue
Last Updated: 17 Jan 2005 Page views: 26,641 Rating: 4.8/5 Votes: 41 Popularity: 7.7
XQueue implements a shared-memory first-in first-out (FIFO) queue, based on memory-mapped files, that works on all versions of Windows.
Threads
Thread Debugging with the Thread Information Block
Last Updated: 6 Jun 2002 Page views: 36,844 Rating: 4.1/5 Votes: 12 Popularity: 4.4
How to use the Thread Information Block to store descriptive information about the thread
Toolbars / Docking Windows
Toolbars
XDriveBar - Display drive buttons in a fixed toolbar
Last Updated: 12 Aug 2003 Page views: 35,465 Rating: 4.5/5 Votes: 17 Popularity: 5.5
XDriveBar implements a drive bar for the drives in a system. The demo project shows how to keep the drive bar in sync by handling the WM_DEVICECHANGE message.
Work Issues
Unedited Reader Contributions
Version Control for the Standalone Programmer - Part 1
Last Updated: 28 Jul 2006 Page views: 12,840 Rating: 4.7/5 Votes: 55 Popularity: 8.2
How to set up TortoiseSVN when working by yourself.