Thanks, but this does the same as a couple of the above solutions: the listbox that pops up starts at the left edge of the screen and stretches all the way to the button.
Screenshot
I have looked at optionmenu before, but it displays the first or currently selected option on the button. I could see no obvious way of displaying a small blank button without text. I'll play with it though.