我自己作了一个ComboBox控件(一个Panel上放一个Edit和一个LisBox)请问如何实现:在Form上单击鼠标后,弹出的下拉菜单被关闭。由于做的是独立于Form得空间,请问,在控件的代码中如何加入上述处理。

解决方案 »

  1.   

    有两个方案,不知道是否可行:
    1。找到MyComboBox的父控件指针,替换其OnClick事件,在其中处理,关闭下拉框。
    疑问,父控件的父控件也要同样处理么,还是一直通过父控件找到Form,在Form中处理.
    2。在MyComboBox中捕获鼠标单击消息,在消息处理函数中,关闭下拉框。
    疑问,在MyComboBox以外的区域单击鼠标能捕获到么?
      

  2.   

    jishiping(JSP 季世平) 提供的方法:
    Mouse->Capture = ListBox->Handle;
    这样,在设置后什么都点不了了。
      

  3.   

    希望能实现,即使点击Form以外的区域,也关闭下拉框。