I’m writing on an OCX Control with VB5. I have a lot of functions in it and I dont want to scare the end user with a lot of constants. For example:
Public Function DoSomething(var1, var2) As Boolean
The second parameter (var2) accepts about 15 different constants. How can I make it so that a dropdown list (like a Boolean “.Visible = True/False”) appears with the available constants?
This is an excellent case where the use of enumerated constants would ease your user’s work. Simply expose the constants via a Public Enum:
Public Enum Var2Types OneThing = 0 OrAnother = 1 YetAnother = 2 ' and so on...End Enum
Then, when you declare your function, modify it as such:
Public Function DoSomething(var1, var2 As Var2Types) As Boolean
From that point on, when your user is coding up a call to this function, the auto list function of VB5’s IDE will kick in as they reach this parameter.A note on Enums… They are defined as starting at 0 and incrementing by 1 for each additional member. So why do I explicitly assign a value to each? Because I don’t trust defaults. Neither should you. (Fix up that non-typed var1, in other words.)