Cobbled together over a long weekend, here are four programs (and a type library, and a bonus program) to make VB6 coding easier. To use these programs, just register or run the files. To make Address-O-Matic a VB add-in, run it with the /regserver command-line parameter, use RegTool to register it, or click on the "make add-in" link.
mmVBTools is provided as a .ZIP file. Extract the files wherever you want, and enjoy!
mmVBTools includes the following:
Program | Description |
---|---|
VB6 IDE Mouse Wheel Add-In | Provides full support for the mouse wheel in the VB6 IDE. Works with or without Intellipoint (any version) installed; supports scrolling in either pane of a split code window; works in both MDI and SDI environments; supports smooth scrolling for the wheels without detents. |
VB6 IDE Tab Order Add-In | A graphical way to set tab order on designer-hosted controls in the VB6
IDE. Basically the same as the old TabOrder sample, but not so ugly. |
Address-O-Matic Base DLL Address Builder | Generates a random base address for your ActiveX components. Modified from the original found in Hardcore Visual Basic, this version can be run standalone or as a VB6 IDE add-in. Includes a couple of links providing more information on setting the base DLL address and why you should do it. |
RegTool Registration Utility | Command-line tool for registering and unregistering ActiveX EXEs, DLLs,
OCXs, and type libraries (.TLB/.OLB) files. Like RegSvr32, but also does ActiveX EXEs and type libraries. Adds itself to the App Paths portion of the registry so that it can be invoked from the Run... dialog without specifying the path. Two .REG files are included to add/remove registration-related context menu entries for ActiveX file types. |
Windows API Type Library | Bruce McKinney's win32.tlb type library from Hardcore Visual Basic. Easier than using the API Text Viewer. Add this as a reference in your project and hundreds of API functions, types, and constants are available. The calls are linked in when your project is compiled, so you don't need to include the library with your application. Only the functions you've used are included, so it won't bloat your code. This is from Bruce's aborted attempt at an update for VB6 (3rd version), which used to be available on the DevX site, but isn't there anymore. |
DebugView 4.3 | Taken straight from the SysInternals site (http://www.sysinternals.com), this program will view debug messages sent with OutputDebugString. The mouse wheel addin does this for its scroll messages and errors so you can see how to use it. |
mmVBTools includes full source. In addition to providing the capabilities listed above, there are other useful bits of code scattered throughout the source, including:
Source | Program(s) |
---|---|
Thread-level hooking: intercepting a window message for all windows in a process | Mouse Wheel |
Painting an icon onto a bitmap, preserving transparency | Tab Order, Address-O-Matic, Mouse Wheel |
Processing mouse wheel messages | Mouse Wheel |
A good random number generator | Address-O-Matic |
Registry AppPaths support so your program can be launched from the Run... dialog | Address-O-Matic, RegTool |
Launching a document and creating a "link label" | Address-O-Matic |
Providing Windows XP themes support | Address-O-Matic |
Saving and restoring (most) of the clipboard | Tab Order, Address-O-Matic, Mouse Wheel |
Registering ActiveX components | RegTool |
Command-line parsing | RegTool |
Providing an application icon without a form | RegTool |
Using OutputDebugString to send debugging messages at runtime | Mouse Wheel |