drop list类型的combo,一般情况下,窗口显示后,如果没有点选combo的话,combo显示的是一个空白行,这个item的index值为-1,现在我想让这个item显示一些文字,比如:“请选择参数”之类的,应该怎么办?
其他变通的方法比如初试化时让combo定位到一个item我也知道,不过不想这么做。
我想实现的其实就是让index为-1的item的文字不为空。

解决方案 »

  1.   

    我都是使用你说的所谓“变通的方法”不过你可以试试SetWindowText看看,我没有试过
      

  2.   

    setwindowtext对dropdown有效,对droplist不行。
      

  3.   

    那估计对Combo本身想办法是不行了,你可以在index=-1时在上面draw一些文字?不知道这样行不行
    不过这样还不如使用楼主自己的“变通的方法”
      

  4.   

    我只能想到两个办法:
    一,在你的Index 为 0的文本就为"请选择参数", 然后置初始Index为0,当选择有变化时删除这一项,当再次初始化ComboBox时再加上这一项
    二,重画ComboBox控件
      

  5.   

    可以用CMdcCombo(即Microsoft Forms 2.0 ComboBox),仍然使用droplist属性,但在对话矿的OnInitDialog函数中,要先对该combo调用SetStyle(0),然后就可以setwindowtext 了。
    接着在用户点击该combo后,调用setstyle(2).