Define Enumerations
Enumerations are a handy way to publish the possible settings for a property. For example, the following addition to the Message
class allows users to set the icon that appears on the message when it is shown:
Public Icon As IconType
Enum IconType
None
Critical = VbMsgBoxStyle.vbCritical
Warning = VbMsgBoxStyle.vbExclamation
Question = VbMsgBoxStyle.vbQuestion
Information = VbMsgBoxStyle.vbInformation
End Enum
' Show method: displays the message.
Public Sub Show( )
MsgBox value, Me.Icon
, Title
End Sub
I added Me.Icon
to the Show
method to display the appropriate icon in the MsgBox
. The point of using an enumeration is that the available settings are now automatically listed when you set the property, as shown in Figure 5-4.
You can use enumerations
within methods as well. For example, the following changes allow the Show
method to accept an icon
setting:
Public Sub Show(Optional icon As IconType = -1
)
If (icon = -1) Then icon = Me.icon
MsgBox value, icon, Title
End Sub
In the preceding code, I made icon
an optional argument with a default setting outside of the possible IconType
values so I can tell whether or not the argument was set. If icon
is omitted, I use the setting from the Icon
property instead. In this case, the icon
argument overrides the Icon
property.
When you use Show
, Visual Basic displays the possible settings for the icon argument, as shown in Figure 5-5.
Figure 5-4. Use enumerations to publish available settings
Figure 5-5. Enumerations are handy ...
Get Programming Excel with VBA and .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.