我用两种方法来实现以上控件,但均告失败
1、在 UserControl中定义一个ComboBox控件 cb,
  
  然后在ComboBox的DropDown事件中激活TreeForm
   cb_DropDown() 
     TreeForm.Show ,UserControl
   ....
  在TreeForm中包含一个TreeView控件 tv
    
   利用窗口子类化技巧
   用 SetWindowLong将  NewWindowProc(...) 作tv的新窗口函数
  
   NewWindowProc中其中处理
     WM_KILLFOCUS 消息
    ...    
    select case uMsg
       case WM_KILLFOCUS
          { unload TreeFrom 的功能}
       case else
           CallWindowProc(...)
    End Select
    ....这种方法一直工作的很好,但只能工作在普通窗口上,如果是模式对话框
则报错: “ 不能在模式窗口上再显示非模式窗口 ”
   如果TreeForm.Show ,UserControl这一句改成
       TreeForm.Show vbModal,usercontrol 则根本不工作!2、于是我用第二种方法
    
   在UserControl中定义两个控件
         cb (ComboBox)
         tv (TreeView)
   然后用焦点转移来控制 UserControl的大小,来是否显示tv
   同样子类化tv
   问题是我发现当鼠标移出UserControl时,tv根本无法接收到 WM_KILLFOCUS
    
   所以我很痛苦!请问有没有高手做过类似控件,是如何处理的?