I think about the biggest thing that might look non-intuitive to a new user, is the creation of your buttons.
button_type = Register_Button(50, 50, 50, 150, 150, 150, 8, font, &HFFFFFF00, 0)
To break that down for you:
The first 3 numbers are a colors R, G, B values. It’s what color we start shading with.
The next 3 numbers are a colors R, G, B values. It’s the central color we end up with.
The next digit is the number of lines we use to produce the shading.
So we start at _RGB(50, 50, 50), and we shade to _RGB(150, 150, 150) in 8 steps, to make the raised “up” buttons.
The next 3 digits are font, font color, and font background color....
Now, as to WHY those are HEX values rather than a whole bunch of RGB parameters again, that’s just my personal style. We have the option of altering Alpha here as well, and it’s just easier for me to think in terms of &HAARRGGBB than it is to think of alpha,red, green, blue — especially since it’s a non-changing value.
The Red, Green, Blue is separate in the first 3 values just for ease of tweaking and experimenting to find that perfect button shade. The font color? MEH! It’s just going to be a simple primary color, 99.9% of the time, for my needs...
... and besides... Who wants to keep track of a zillion parameters??
Register_Button is : RedStart, BlueStart, GreenStart, RedEnd, BlueEnd, GreenEnd, StepsOfShading, Font, Font color, Font Background Color
Nothing hard to use once you know what all those values stand for, but it’s a little daunting to just stare at blankly. ;)
And if you have a great sounding click to share, I’ll be happy to add it as an option in the library for an audible reference.