你要弹出的这些名称是在EDIT那里吗?
怎么不用Combobox?

解决方案 »

  1.   

    这个问题集中在如何写一个多选Form。
    首先,要确定备选会员名称数多不多?
    如果多,就用TListView实现;
    如果不多,就用动态生成TCheckBox实现。
    这个Form,有一个方法:AddPerson,
    Create Form后,用AddPerson加入所有备选会员名;
    还有一个方法:GetSelection: string;
    其能够把所有被选的人名组成最后所需的结果。ok,问题最后回到如何表现多选:
    1.如果用TListView,重点是开启CheckBox开关,网上有得查,先查并试写,有问题再问;
    2.动态生成TCheckBox,网上也有得查,但愿这个你会。每次调用AddPerson,就在TListView或TCheckBox增加备选值;
    最后要GetSelection时,轮询,把Checked值组合起来成String即可,这是较简单的部份,你应该会。如果上述我假设你应该会的部份,实际上你都不会,
    请你拆解上述问题,拆成较简单的问题,要嘛上网查,要嘛再在这儿提问,
    直到你最终完成这个问题为止。思路就是这样,祝你成功。
      

  2.   

    如果不用第三方控件,可以想办法用CheckListBox,当双击时,显示。
    如果可以用第三方控件,可以试试cxCheckComboBox这个控件(DevExpress控件包中的)。
      

  3.   

    在表中增加一个选择字段,选择时,弹出带选择字段的grid,选择结束时用循环把选择的内容放在EDIT1中即可。
      

  4.   

    如果不用三方控件的话,你可以做一个panel,上面放grid,下面放2个按钮,“确定”“放弃”,调整一下这个panel与edit的相对位置,平时隐藏,做动作时出现,确定后隐藏,循环把选择的内容做好放在EDIT中
      

  5.   

    放一个panel,然后上面放上grid,然后edit用cxPopupEdit,可以做出不错的效果。
    给个别人的例子http://blog.csdn.net/jayqiang/article/details/7073936
      

  6.   

    在edit1双击事件中,写出弹出窗口,然后在弹出的窗口中的CXgrid(我习惯用这个)的双击事件中,写form1.edit1.text:=form1.edit1.text+'、'+ADOquery1.FieldbyName('姓名').Asstring;