I would tend to stick with a single button type which has an ID to tell whether it's a text box , input box ,horizontal or verticle slider etc... for interaction. This means you have some redundant fields for some of the button types but not much of an overhead.
As you have it now, for just the sliders ... this should work :
As you have it now, for just the sliders ... this should work :
function DisplayGaget( g.gadget ) drawimage g\GIMAGE, g\gx, g\gy for s.slider = each slider if s\Parent = g drawimage s\SIMAGE, s\SX, s\SY endif next end function