HeadStart Toolkit - Version 4.0
HeadStart toolkit is a library of flexible MFC extension classes that will help you develop sharp looking applications in record time.
All controls included in the toolkit are subclassed off of standard MFC controls. If you are doing MFC development, be wary of third party controls that were written for other environments, rather than created specifically for MFC. Also watch out for controls that are written in C, with a thin C++ wrapper added. You want controls that you can subclass off of if you want to further customize them.
Note - Great care was taken in the design of all our controls to make them drop in replacements for the standard MFC controls. For example, in the imagelistbox, GetItemData()/SetItemData() were not used to store font/color/etc. for items, so that users can continue to use these functions for their own purposes.
All of our controls can be positioned in your dialogs using the standard resource editor.
If you need a specific control, or an enhancement to any of our existing extensions, we can build it for you.
Toolkit - DEMO
Included Classes: Bitmap Menus, CHeaderCtrl Extension, CListCtrl Extension, Persistent Frame, Persistent Child Frame, Image Listbox, Image Combobox, Tree Control, Tree Item, History Combobox, Registry Helpers, Modeless Dialog, Accelerators
CListCtrl Extension
An enhanced list control with the following features:
- Ascending and descending sorting by pressing the column header buttons. Columns consisting of text, numeric or date data are sortable without having to add a single line of code. Easily customizable to change the default sorting. Your optional customized sorting function can work with item indices instead of MFC's unusual method of working with itemdata.
- Optional bitmaps displayed on the column headers to show the current sorted column and sort direction.
- Full row selection and highlighting, rather than the standard control's behavior of only highlighting and allowing selection on the first column.
- Saves the column widths so they will remain the same upon subsequent executions of the application.
- Adds support for reordering columns by the use of a easy to use dialog that can be displayed by right clicking on the header control.
Subclassed from CListCtrl, it is a simple drop in replacement (even item data functions are unaffected).
Replacing standard CListCtrls with HeadStart's list control extension is an easy way to add functionality to your applications.
Menus with Associated Bitmaps
Allows you to display menus with each item showing its associated bitmap which has become standard with most Microsoft tools. We have added this feature to our Persistent Frame class to make integration into your application as simple as possible.
History Combobox
Remembers previous entries into a combobox (by the registry or .ini file). Works just like MS Developer Studio's Find Dialog combobox (or the internet address combobox on most internet browsers). You can attach two history comboboxes so that an entry added to either one will be automatically placed into both (see the demo for a good example). This class also provides an easy way to add accelerators to a combobox.
Replace your editboxes with history comboboxes wherever a user may frequently reuse previous values.
Now supports automatic completion as you are typing into the field.
CHeaderCtrl Extension
An owner drawn header control that can be used to create ascending and descending arrows on the header portion of a list control without requiring the commctrl.dll that ships with IE3.0 or later. This control supports left, center and right justified text. There is also an attribute for specifying if you would like the bitmap to be on the left or the right side of the text. This can also be used as an example or a starting point on creating your own owner drawn header control.
Persistent Frame
Saves the size and position of the application window and all toolbars to the registry (or .ini file) so the tool's state will be remembered for subsequent executions.
This class also allows the application frame to be a drop target. Several virtual functions are provided to allow this, in the same way that MFC allows a CView to be a drop target.
Appwizard Support: Just check "persistent frame" in HeadStart's extended appwizard, and persistent frame will automatically be added to your application. (It's checked by default, we can't think of any reason you'd want the default MFC behavior of your application coming up in a seemingly random size and position).
Now supports displaying menu items along with their associated bitmaps.
Now supports full screen mode.
Now supports a context menu for showing and hiding toolbars. This context menu is created automatically with all of the toolbars in your application. Easily extendable to add your own menu items.
Persistent Child Frame
This class works in conjunction with the Persistent Frame to save the state of the child frame (normal or maximized) for MDI applications.
Image Listbox
An enhanced list box with the following features:
- Allows you to display an image (bitmap) in front of each item in the listbox.
- Allows you to set the font and color of each item individually.
- Provides automatic tool tips (name tip) when the mouse is over a clipped item.
Subclassed from CListbox, it is a simple drop in replacement (even item data functions are unaffected).
Replacing standard listboxes with HeadStart's image listbox is a great way to spice up your applications.
Image Combobox
An enhanced combo box with the following features:
- Allows you to display an image in front of each item in the combobox.
- Allows you to set the font and color of each item individually.
- Allows you to specify an indent level for each item to create a tree structure inside the combobox.
- Provides automatic tool tips (name tip) when the mouse is over a clipped item.
The nametip on the combo box is especially useful, since comboboxes don't support a horizontal scrollbar. Even if your combobox is wide enough for all entries, it is a good idea to use this control, just in case a larger entry is added later. (This is especially true for internationalization purposes, where translated text may be much bigger than the original.)
Subclassed from CCombobox, it is a simple drop in replacement.
Tree Control
A flexible tree control with the following features:
- Allows you to set the font and color of each item individually.
- Provides automatic tool tips (name tip) when the mouse is over a clipped item.
- Supports multiple selection.
MFC's CTreeCtrl, a paper thin wrapper around the SDK, is notoriously difficult to use. Our tree control gives you the same look and feel, but without the limitations, and with an easy to use, object oriented API.
Tree Item
This class works in conjunction with the Tree Control class to provide an object oriented API.
But this is also a fully functional tree container class that can be used whenever a tree structure is needed. The same class is used for each node of the tree and the tree itself, thus making pruning/grafting easy.
Functions are provided to make it very easy to traverse through the items in the tree.
Just attach this class to a HeadStart Tree Control to display the tree data visually. You can also attach this class to a HeadStart Image Combobox to display a tree structure in the combobox (like the combobox in the Windows Explorer’s toolbar).
Registry Helpers
Allows resource string IDs to be used with GetProfileXXX and WriteProfileXXX which is useful for internationalization purposes. Provides functions to get and write COLORREFs and CRects to the registry.
Modeless Dialog
A simple way to create a modeless dialog. Includes an attribute to specify if the dialog should be destroyed or just hidden each time it is closed.
Accelerators
Provides the ability to load accelerators from a resource file contained within a DLL. For example, you may have a custom view class located in a DLL. With this class, accelerators associated with the custom view (stored in the DLL's resource file) can be easily loaded into applications linking in the DLL.
Home | Canvassing | Project Compiler | Pricing | Consulting