devxlogo

The Latest

Avoid IIf Inefficiencies

The IIf function-which returns one of two values determined by logical test-has this syntax: IIf(Expression, TruePart, FalsePart). At first, it might seem like an ideal shortcut for an If…Else…End If

Support Enumeration in Your Collection Classes

To create a collection class you can use with the For Each…Next syntax, add a subroutine that looks like this: Private myCollection As CollectionPublic Property Get NewEnum() As IUnknown Set

Customize Colors and Fonts for Statusbar Panels

You can easily customize the fonts and colors in individual statusbar panels using a PictureBox control and an API call. Each statusbar panel can display a Picture object, so you

Make a Form Stay on Top Redux

Many routines use the SetWindowPos API to always keep a form on top. Most require the user to remember several nonintuitive arguments. I’ll not only show you how to simplify

Speed up String Operations

It’s often faster to perform string operations with byte arrays than with 32-bit VB’s native double-byte character strings. Even when using 16-bit VB4’s single-byte character strings, it’s still often faster

MCI Supports Multiple CD-ROMs

The Media Control Interface (MCI) can easily support multiple CD audio devices.You simply specify the drive letter in the MCI open command. To eject the CD from any drive,first place

Proper MouseLeave Detection

I have read many tips about using MouseMove events to create an Explorer-like coolbar look. The problem is that if your button is located close to the main form’s border

Native Registry Access Fails Under MTS

VB provides an easy way to access the Registry with the built-in GetSetting and SaveSetting functions. These functions read and write information to the HKEY_CURRENT_USERSoftwareVB and VBA Program area of

Create Rich, Colorful Text

Call this sub to insert text of any color at the current insert point of a RichTextBox: Private Sub ColorText(rtb As RichTextBox, Color _ As Long, Text As String) Dim

Change the Setup Wizard Background Color

VB6’s Setup Wizard generates gradient blue background screens, as do wizards in previous versions of VB. However, an undocumented setting gives you the opportunity to see installation programs with other

Start up in your Code Folder

I keep all my projects in a particular directory such as C:work. When I save or open up a new project, I want the File dialog box to start at

Link List Contents to Listindex in Another List

I recently needed to create two listboxes, where the items displayed in the second listbox depend upon the item selected in the first listbox. After seeing the amount of code

Use UDTs for Irregular Arrays

If you use variable-length strings and/or dynamic arrays in a user-defined type (UDT), the actual data does not become part of the structure. Instead, four-byte pointers are stored in the

Clear a Masked Edit Box

To blank out the text in a masked edit box, make sure the string you assign uses underscores matching the mask. It’s difficult to maintain code when you have to

Returning a void Expression from a void Function

Examine this code snippet. Will your compiler accept it? void a_func_returning_void();void func(){ return a_func_returning_void(); //returning a value from a void function?} At present, most compilers will not accept this code

Rating your Compiler’s ANSI/ISO Conformance

The following link ranks several popular C++ compilers according to their ANSI/ISO compliance level. The comparison chart contains various features such as exported templates, Runtime Type Information, Koenig lookup, explicit

Get a Free C++ Compiler for Windows

Dev-C++ is a free graphical C++ compiler for Windows 95, 98 and NT. You can download it for free from: http://www.bloodshed.net/devcpp.htmlThe Dev-C++ package also includes a debugger and source file

The GNU C/C++ Compiler 2.95 is Here

The GNU project focuses on the development and distribution of open source software, including free compilers. The newly-released GCC 2.95 is a free C/C++ compiler. GCC 2.95 includes nearly a

Display Taskbar Icons for Borderless Forms

When you create a borderless form in VB (BorderStyle = 0) and make it visible to the taskbar (ShowInTaskbar = True), only the form’s caption shows and the form’s icon

Enhance Development with Registry Edits

Here are a couple useful Registry edits to enhance your day-to-day Visual Basic development. Save these Registry lines to a text file with a REG extension, and then double-click on

Catch Every TabStrip Click Event

You might have noticed that if you click on a TabStrip tab, then move the mouse pointer until it’s no longer over the TabStrip without releasing the mouse button, the

Convert File Size Into Proper Strings

Use this small API from the shlwapi (Shell Windowing API) DLL that ships with Internet Explorer (IE) to help you convert file size in bytes into proper strings such as

Sharing Files Between VB and VBA

You can easily share files such as standard code, form, and class modules (BAS, FRM, and CLS files, respectively) between VB and VBA by using the appropriate menu commands. Within

Manipulating the Browser’s Back Button

Question: I created a Web page that uses ASP to access a database on the server and return data to a client browser. While the data is accessed the client

Test for NULL Properly in a Recordset

Question: I have a column in SQL Server created like this: “vchrFirstName varchar (50) NULL” However, this code does not produce anything, including any errors, when the record is NULL:

Handling Single Quotes in Values From ASP

Question: How can I prevent sending the contents of a form field containing single quotes to the server? Single quotes should be converted to double quotes in a way that