I came across this problem via a colleague today. He had a design for a front end system which goes like this:
class LWindow { //Interface for common meth
LListBox and LComboBox should receive an instance of WindowsCommonImpl.
In the first solution, inheritance is used so that LListBox and LComboBox can use some common methods. However, inheritance is not meant for this.