I suppose you could use a modal dialog for the buttons then simply enable and/or disable them....
But....(you know there is always one)
You cannot dock a VBA form to the AutoCAD window....
At least I am not aware that you can....
Anyway, I played around with the Windows API SendCommand to see if I could manipulate them. I found that I could indeed change bitmaps, resize, enable and disable them. What I have to do is use several API calls but it is simple once you get the VBA functions figured out.
I am still having a bit of difficulty disabling a single button, I can disable and enable a whole toolbar but the way the ToolbarWindow32 class handles the buttons it is proving to be a bit more of a challenge than first thought.....
The key is retrieving the AutoCAD HWND then enumerating the child windows until you find the toolbar with the name that you are looking for, then you have to retrieve the button array so you can extract the button ID... this is where I am experiencing some difficulty...getting the appropriate API call to return the button array....
When I get this conquered, I will (should) be able to simple say....
ToolBarButtonEnable (ByVal ToolbarName As String, ByVal ButtonPosition As Integer, ByVal State As Boolean) As Boolean
Until I get there I will have to live with all of the buttons being enabled...
Incedently the main reason I want to do this is for a project I am working on... If the user selects certain buttons out of sequence it will cause a fatal error in AutoCAD....