Another button class for my need which may come handy to my subscribers as well.
So why make another one? What is the main difference with this one vs say ButtonX?
On my BizCore ERP app, I use TreeView for my menu as I can easily control there what can be shown per user by hiding/removing nodes they should not be of concern. See ERP app below:
However, for comparably smaller app like my Gift Voucher one, my GUI approach is different where I use background images plus images representing as button icons. Why this design? First, I want to give my users the capability to change wallpaper via a simple double-click. That adds to user satisfaction because they won't be tied up with an appearance that they may not like as each user has his/her own taste. Another is to make the app look bigger, LOL! Here is that app showing different look impact by simply changing wallpapers.
And for that design, I need to have a button that will appear transparent and so this new control class. ButtonX can be made transparent too via making nTheme parameter 0 (zero) and nLineSpecialEffect = 3. However, when you do that, you won't see any hover effect (glowing blue) I did on MouseEnter here because that is tied up on the theme image which we ignored for transparency sake. And so it is a bit harder to see where you are except on relying on the mouse pointer.
Unlike my other button classes, I made this one simpler via allowing the use of PEM instead of us typing This._setting(....) inside the class init. So you can go to PEM and change its Picture, Caption, Enabled and ToolTipText. Speaking of Enabled, when the class is toggled to disable, then these two (2) properties will have an effect on its appearance:
1. _noHighlight (Default is .T.) - When the class gets disabled, you won't see the hover effect of that glowing blue background. Turn it to .F. to show that hover effect even if the class is disabled.
2. _ShowLock (Default is .T.) - When the class gets disabled, a lock icon will appear on its top as additional visual guide. If you don't want this, turn this property into .F.
Well that is it! This is now part of ssUltimate. Visit What's on ssUltimate Library for the list of classes inside ssUltimate.