devxlogo

We are an award-winning tech entrepreneurship website where trusted experts can provide value globally.

Since 1998, DevX has helped people start businesses, build websites, and provide enterprise technology to people globally. Interviewing the likes of Microsoft’s co-founder, Steve Ballmer, the publication brings comprehensive, reliable, and accessible insights to the Internet.

devxlogo

Trusted for 26 years

Over 30K Articles

1M+ Readers

Expert-reviewed

10K+ Tech Terms

As seen in:

microsoft logo
business_insider_logo
wired_logo
berkley
arstechnica_logo
hackernoon

The Latest

Build Your Own Floating Toolbar

Ever wanted a floating toolbar? To make one form “owned”by another, all it takes is a simple API call. Afterwards, the owned formwill float above the form that owns it,

Change the Container of a Control

I use bounded text boxes within the picture control but they act asif they belong to the form. Here’s how to make them act as if they belongto a container

Use Smaller Graphics to Save Resources

Larger bitmaps used for .ListPicture/ListPictureSel properties in Mh3DListconsume proportionally larger amounts of resources. Also, avoid using 256-colorbitmaps in controls–they too consume more resources.

Giving Forms a 3-D Look

It’s not widely known that you can use CTL3D.DLL (or CTL3DV2.DLL) togive your VB forms the same 3-D look of Microsoft’s Office suite of applications.First, your app must register with

Indenting Code Blocks

You can highlight a block of text in the code window and press theTab key to indent the block or Alt-Tab to unindent it.

Troubleshooting Custom DLLs in VB

If you’re getting GPFs and you aren’t sure if the cause is your customDLL or VB, write a BAS file stub that simulates your DLL. If the GPFs persist,its not

Disabling All Controls on a Form

If you ever need to disable all the controls on a form you can loopthrough the control array and set each Enabled property to Falsewith this code: Sub cmdArray_Click ()

Finding a String in a Combo Box

The CBFindString()procedure searches for a string in a combo box byusing the SendMessage() API function to find a specific entry in the list.This is much more efficient than searching using

Run Multiple Copies of VB

For debugging or whenever you want to copy code from one project toanother, it would be very easy if you could have two instances of VB runningat the same time.

Break up Large Apps

If you have a large app, consider breaking it down into smaller apps.Use one main EXE that calls the others and DDE to provide communication.When a sub-app opens, open a

Access Keys with Labels

There is a very simple trick you can perform with labels and text boxesthat will help users who like to use the keyboard instead of the mouse.Notice the underlines in

Make Forms Stay on Top

To set a form to be always on top, use the subroutine listed here.Pass it the hWnd property of the form you want to float. The OnTop parameteris used to

Use VShare.386

When you’re using OLE or the JET database engine, you’ll need to loadSHARE on your system and all systems you deliver your app to. In the lattercase, you are guaranteed

Use ByVal When API Calls Cause Problems

If an API call is not achieving the desired or expected effects, tryplacing ByVal in front of parameters. Likely ones to cause trouble arestrings and anything declared “As Any.” The

Changing Colors and Fonts of DataGrid Cells

Attributes such as the foreground color, background color, and fontsof cells in Sheridan’s DataGrid can easily be changed by setting RowCellxxxxproperties such as RowCellForeColor, RowCellBackColor, RowCellItalic, andso on from within

Get Rid of Unused Declare Statements

When you use the Declare statement, approximately 11 bytes are addedto the size of your EXE. The name of the function and library where itresides are also stored in the

Call the Click Event

If you need to fire a command button’s Click event, you can set theValue property to True: cmdAdd.Value = True The real benefit of this is that you can call

Avoid the Outline Control

The Outline control might at first seem very usable. Well, it isn’t.Apart from the arcane interface, it’s almost guaranteed to blow up yourapp if it’s running on a “nonstandard” video

Tips on Using Boolean Logic

Programmer’s of all skill levels often make errors when using Booleanlogic. This statement might not evaluate the way you think it should: IF (SomeNumber AND 16) OR _ (SomeOtherNumber 0)

Always Use These

Always use Option Explicit: it draws immediate attention to variabletypos. Always use Save As Text: files are less easily corrupted, more easilyrecovered, and editable by a text editor other than

Clearing the Contents of a Datagrid

If the DataGrid is bound to a VB data control, you need to set theRecordSource property of the data control to “” (null string)and then use the Refresh method: Sub

Troubleshooting Erratic VBX Behavior

If a VBX is acting erratically, make sure you are using the most currentversion of the VBX on your system (and make sure to put it into your user’sWindows/System directory

Easy-to-Implement Status Bar with Spyworks

The SBCEasy custom control that comes with Desaware’s SpyWorks-VB canbe used to update a status bar whenever the mouse moves over any controlor form in your application. All you need

Menu Status on MDI Forms with Spyworks-VB

Many features of SBCEasy (a tool that comes with Desaware’s SpyWorks-VB)work only on its container, and because it cannot be placed on a MDI Parentform, the MenuSelect event does not

Eliminate Dead Code

Be sure to remove functions or procedures that you are no longer using.If you delete a control, be sure to remove the event procedures that weretied to that control.