I guess this could be explained like this. A RING control and a STRING control. Now, we know the functionality of a RING control in that we can populate it by using an array of strings by using a property node. The problem with a RING control is that it will not allow the USER to enter "Undefined TEXT" to it. And ofcourse, a STRING control allows you to type in values directly into it, no selection involved. So now imagine a control allowing you to do both, select a value from a list or type a value. On my original question I mentioned the "DAQ Channel Name" control because it allows you to do just that, except that it uses MAX to populate it's list and I can't populate the list programmatically my self.
I hope I've explained it well.