FTN95.CHM tells us that %tb has been superseded by %ib which in turn, has been superseded by %mb. I’m not entirely sure that this is correct nor that it is necessarily good advice.
Contrasting first %tb and %ib, the big advantage of the latter is that you only need to draw one icon and the other states are generated automatically. The downside or disadvantage of the automatic generation of the other icon states is that particularly in the case of the ‘greyed-out’ state, the icon has to be very carefully drawn if you are not to end up with a horrid amorphous looking grey blob*. Moreover, %ib (in all its options) generates toolbar buttons that have an appearance that matches past versions of Windows and not the current paradigm. Using %tb, you have to draw the icons for all of the states and therefore can have any appearance that you like for not just the greyed-out version but also how the button responds to being clicked or selected. Therefore, at the expense of drawing all the icons, you can have any appearance you like as well as conforming to the latest version of Windows.
%ib does have the advantage of allowing you to attach a short text string to appear as part of the button but this can only be underneath the icon not alongside, which makes the toolbar higher than one might otherwise like. I have found that it is useful to look at the aspect ratio of the screen to decide whether a toolbar should be along the top or down the left-hand side, as these two locations are relatively free from problems when the screen is resized, although resizing beyond a certain point will lose part of the toolbar. Moreover, when using a toolbar down the left-hand side of the screen it is worth checking the pixel height of the screen and opting not to have the text with the toolbar buttons if using it means that all the buttons cannot be shown.
Turning now to %mb, I have yet to completely master the complicated syntax (and by ‘completely master’ you may read that I haven’t much of a clue!). This control also uses automatic generation of various button states, which again gives rise to the ‘greyed-out’ appearance problem with user-drawn icons, and the standard Microsoft image strips may well overcome this problem, but they are individually very small (which is a past paradigm) and have the now superseded appearance. It isn’t clear how to draw the rows of icons (image strips), and the standard image strips are great for toolbars that emulate the contents of the File menu (e.g. New, Open, Save etc) but for the purpose of interacting with a drawing surface, you will simply need to draw your own icons, as MS have not provided useful icons for such things as ‘Add another stratum’ (geologist), ‘Add a resistor’, ‘Add a column or beam’ etc. Most of us struggle to draw such things, and my experience suggests that with all the other things one needs to program, it may take years to make the icons both small and consistently coloured – in some cases I have gone through a dozen or more versions en route! It’s hard enough to draw even those recognisably standard File menu icons, let alone something a user might identify readily with its intended function!
*The greyed-out %ib state has a limited range of greys. The trick is to fill some of the icon with a checkerboard pattern using the real icon colour (X) and the background colour (O) like this:
XOXOX
OXOXO
XOXOX
Which will give the appearance of another grey shade, although it does mute the colour of the icon. %tb allows you to draw the greyed-out state with lots of grey shades.