mmVBTools

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!

Programs

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.

Source

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