I think you're looking for a simpler version of something like the box model in web languages.
In your place, I would make your button class with some functions to set this "box model" sprites.
Then, when you need to draw, it should go something like:
- draw corner sprite at button top-left position (pos).
- draw top sprite at pos.x + corner.width and with its width set as button.width-corner.width*2
- draw corner again, rotated.
-draw left sprite at pos.y + corner.height and dimensions as button.height-corner.height*2
-draw center sprite at position (corner.width, corner.height) and set its dimensions to be the same as top sprite for x and left sprite for y.
.. I think you can figure it from now!
Hope i helped and that i got to the point of your question.