Even if there is support for icons wich dimension is not 32x32 they can be drawn incorrectly. First icon will be displayed when the mouse pointer is over the button. Second icon will be displayed when the mouse pointer is outside the button. By default the button will have the icon on the left and the text on the right. If you don't want this just disable it.
Background color is the button's face color while foreground color is the text color.
Inactive colors are that colors shown when the mouse is off the button while active colors are that colors shown when the mouse is over. The little short text displayed when the mouse stops over it for a certain time. This is automatically called when a button is created. This is automatically called when a button is created. This is automatically called when a button is created.