这个问题不是已经有了?在VC6.0上,大概是使用声明一个Edit的Object例如m_pEdit->Create建立Edit部分,m_pListCtrl->Create建立List部分,其中m_pListCtrl->Create(WS_BORDER | WS_CHILD | defaultListCtrlStyle , CRect(0,0,0,0), GetDesktopWindow(), IDLISTCTRL)),注意GetDesktopWindow(), 这个参数,它指定了这个下拉的List不属于当前控件所在的窗体。另外画一个带三角箭头的Button就可以了
 
使用VB6.0,可以使用一个Edit、Button、一个窗体(窗体上放置一个ListView控件就可以了),大概方法是当点击Button时,打开这个窗体,同时设置里头的ListView,当然要对所有的控件进行排布了,这样有一个缺点,这个窗体必须是有模式的窗体才可以,然而由于控件的特性,使用了有模式的窗体之后,在我们眼中的父窗体就不是父窗体了,而是同级别的,因此当鼠标在不属于这个下拉窗体的部位点击时不会产生事件,因此无法执行LostFocus事件,必须使用Hook钩子程序,才能达到这个效果,当然也可以没有这个效果了