NOTE: The components listed on this page are old. They were developed back in the 1990s, arguably a more innocent era when it was still permissible, for instance, to run unsigned ActiveX controls in Internet Explorer without undue hassle. For what it's worth, I am still using some of these code components in projects that I maintain, but I don't want to give the impression that I consider this technology state-of-the-art. Indeed, as the warning below makes it clear, the last time I did any serious work on this page was back when Windows ME (remember Windows ME?) was still new.
WARNING: I have received reports indicating that Internet Explorer may crash on Windows ME when displaying this page. I have not been able to reproduce this problem, but if it happens to you, I would appreciate it if you could drop me a note.
These custom controls and libraries implement a variety of functions that I needed in some of the projects I have been working on. Rather than adopting an "everything but the kitchen sink" approach and loading the controls with needless features, they are intentionally kept simple and small. You are welcome to examine the source of this HTML page to see how these controls can be put to practical use.
For these components, three types of licenses are available. A single-developer license, as the name implies, gives a single developer a license to use the control in his or her projects, and redistribute the control with an unlimited run-time license to end-users. A site license is a license to use the control by an arbitrary number of developers who work as members of the same entity, at the same geographic location. Lastly, an unrestricted license is a non-exclusive license to "do as you wish" with the control, including the right to modify or resell it. This last type of license comes with the source code.
If you are an Internet Explorer user, the page below attempts to demonstrate the controls "live". However, modern versions of Internet Explorer (quite correctly) refuse to install code of unknown origin, so your best bet is to go to the individual product pages and look for manual downloads there. In any case, you are welcome to examine the source code of this page to see how these controls can be put to good use.
If you are interested in any one of these components, click on the component's name. This will take you to a page that contains full documentation on the selected component, and also links to purchase the control using the PAYPAL online payment service.
Component Name and Description | Price | Demo (requires Internet Explorer) | ||||||
KNOB Control Implements a rotating knob like that found on many test instruments. Sends events to the host program to indicate that the user has changed the knob's position. |
|
|||||||
LED Control Implements a single LED-style digit, complete with decimal point. Multiple digits can be used together to produce an LED-style display. |
|
|||||||
METER Control This control provides visual feedback in the form of a VU-meter found, for instance, on older, high-quality stereo equipment. The scale, ticks, and label are all customizable. |
|
|||||||
MULTISND.exe MULTISND.exe is an ActiveX server application that implements sound mixing. The sound mixing algorithm is described in detail under http://www.vttoth.com/CMS/index.php/68. |
|
|||||||
MultiWnd Class Library The MultiWnd class library implements multiple subwindow functionality within an MDI child window. An MDI child window derived from CMultiForm (which behaves similarly to CFormView windows) can interact with subwindows derived from CSubForm (which behaves much like CDialog) to provide this multi-level behavior. |
|
|||||||
SheetWnd Class Library The CSheetWnd class library implements a spreadsheet-type view of editable data cells. Extra functionality includes the ability to move rows up and down, to mark rows with special attributes, and to use combo boxes when certain cells are edited. |
|
|||||||
Weekly SCHEDULE Control The schedule control implements a seven-day, 24-hour grid. Any combination of the week's hours can be selected using the mouse. The selection can be inverted by clicking on the day or hour labels, or the upper left (blank) label. The control is bilingual: day names can be displayed in English or French. |
|
English French |