Don’t hard-code font names and size

Don’t hard-code font names and size

Unless you have good reason to do otherwise, you should always use standard fonts in your programs, because this ensures that your application will work on every Windows system.

If you want to use non-standard fonts, you should at least adopt the following guidelines:

  • Assign the font to form and controls through code in the Form_Load event procedure, not directly to the form or the control at design time. Most important, protect the assignment with an On Error statement, so that if the font doesn’t exist you can still use the default font.
  • Provide the end user with a method to customize the font name and size, for example by editing an INI file or the Registry. Obviously, editing the Registry is a risky operation, and it should be performed only by experienced users, so usually the INI file is better. Alternatively, provide a distinct utility that configures the program through an easy-to-use interface.
While we’re on this topic, please note that in general Visual Basic doesn’t raise an error when you assign an unsupported size of a font, but silently uses the closest valid font size that is less than the requested size. Therefore, the only way to test if a given font size actually exists is to check that the assignment was successful. Here’s a routine that lets you assign a font size to any object, and returns True if the specified font size is supperted:

Function SetFontSize(obj As Object, FontSize As Integer) As Boolean    On Error Resume Next    obj.Font.Size = FontSize    SetFontSize = (obj.Font.Size = FontSize)End Function

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular