
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.
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,
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
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.
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
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.
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
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 ()
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
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.
Use the Len() function to check for an empty string rather than the”” or “=” operators. For instance: If sName “” Then … End If This is functionally the same,
Every control has an implicit “value” property. For textboxes it is the Text property. For Labels it is Caption: lblZip.Caption = “Zip Code” You do not need to reference this
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
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
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
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
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
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
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
There may be situations in which you want to display text that theuser cannot edit, but a label control doesn’t quite fit the bill. Whatyou need is a read-only text
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
You can set .SelectedColor and .FillColor in the Mh3DList to be thesame, and use .ListPicture and .ListPictureSel properties to indicate selected/deselectedstates.
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
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 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
When you change the row in the data control that a Sheridan DataGridis bound to, the DataGrid will also reposition its current row. To avoidthis, use the Clone method to
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
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
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
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
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.