Classic VB Corner

Redesign IDE Dialogs

Ever felt the VB IDE dialogs were poorly designed? Here's a way for you to tweak them a bit more to your liking.

An ongoing frustration of mine was always found in the ClassicVB Project References dialog. You've probably growled or at least grumbled at it a few times, too. What's with that chopped off Location field??? As often as not, you can't actually see the name of the file highlighted in the listbox below, as shown here:


[Click on image for larger view.]
Figure 1.

Shoot, there's even a horizontal scrollbar on that list! That might've been a somewhat reasonable design in the days when a few folks still used 640x480 screens, but no more.

What if you could tweak that dialog, making the listbox a little wider? Those priority buttons seem rather poorly placed too, don't they? They could slide over to the right, the listbox could be widened. Heck, the entire dialog could be widened, all the buttons slid over, the Location and Language labels widened... You see where this is going.

Well, there's a tool you can use to do modify these sorts of settings to your heart's content. Resource Hacker is a freeware utility to view, modify, rename, add, delete and extract resources in 32-bit Windows executables and resource files. I've long found it one of the best tools available to explore "the guts" (resources) of executables.

ResHacker offers a dialog tool that's extremely similar to Classic VB's -- you just drag the dialog elements around, resizing them to suit. Or you can edit the raw resource script, and watch the changes play out in the dialog designer. Simply open the "Dialog" node in the treeview, find the dialog you want to edit, and go to town. When you're happy with the new design, press the "Compile Script" button, then just do a File | Save to write the changes to disk. (Be sure to make a backup of the original file, first, of course, unless you enjoy doing re-installs.)

To modify the Classic VB Project-References dialog, open the VB6IDE.DLL (or VB5IDE.DLL) file in ResHacker, find Dialog #4040 and get to work. Here's the "after" shot to compare with the "before" above. Which would you rather use?


[Click on image for larger view.]
Figure 2.

I've posted the resource script used for this dialog on my Web site. You can also flip back and forth between the original and modified dialogs by using these two links and pressing the Back and Forward buttons in your browser to visualize the changes. If you like my redesign and would rather not hand-manipulate all the controls into a similar layout, you can just download my script and paste it into the ResHacker script editor.

Now you'll always know which file is associated with each named reference. Sweet.

If you'd like to share your own ideas for really useful IDE resource hacks, please do so below, or email me and we may find a way to sneak the really good ideas into a future column.


About the Author

Karl E. Peterson wrote Q&A, Programming Techniques, and various other columns for VBPJ and VSM from 1995 onward, until Classic VB columns were dropped entirely in favor of other languages. Similarly, Karl was a Microsoft BASIC MVP from 1994 through 2005, until such community contributions were no longer deemed valuable. He is the author of VisualStudioMagazine.com's new Classic VB Corner column. You can contact him through his Web site if you'd like to suggest future topics for this column.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube