用一个TEdit和一个TPanel两个组件合成一个组合框,像TComboBox.
现在我假想,在TForm1上放一个TEdit,在边上放一个按钮,当单击此按钮时,就创建TPanel,并把TPanel放在TEdit下方,就算是像下拉的效果吧,但是一般下拉框下拉后,我们鼠标点别的地方下拉框会消失,所以此时Tpanel创建并显示后,当单击别处时TPanel也要销毁,但我不知道应该在哪个事件下写,还望高手指教.-------------  -----------
|  TEdit    |  | TButton |
-------------  -----------
-----------------
|  Tpanel       |
|               |
-----------------

解决方案 »

  1.   

    用PANEL不好,因为如果EDIT和FORM的下面部分因为某种原因(比如客户将窗口缩小)就会导致PANEL出来的时候显示不完全了。如果是自己做控件,可以看看VCL里的COMBOX的代码, 一般是使用一个WINCONTROL来做的。
    如果不是的话,可以使用FORM。
    主要是要把创建的WINCONTROL保存起来。