I believe I have just been fiddling with the exact thing you describe. After some googling I realized there were no elegant ways of achieving what I wanted, so I came up with this (horribly ugly but functional) solution:
I made a combobox and an unassociated label. The label has no background or border, is positioned in exactly the same place as the combobox and is drawn on top (bring to front).
Two event-procedures:
On click; hide the label and set focus to the combobox:
Code:
Private Sub Label_Click()
Me.Label.Visible = False
Me.Combobox.SetFocus
( Me.Combobox.Dropdown)
End Sub
When you leave the combobox; if anything is selected, the label stays hidden. If the box is empty, the label becomes visible.
Code:
Private Sub Combobox_LostFocus()
If IsNull(Me.Combobox) Then
Me.Label.Visible = True
Else
Me.Label.Visible = False
End If
End Sub
It's not a satisfying solution, but it definitely works and looks professional as long as you don't see what's going on behind the curtains (Note that if the combobox is cleared by another script, the label will stay hidden unless that's being dealt with elsewhere)
Best regards,
hargro