combo box属性styles->type能在程序中动态调整吗
我现在有个问题很棘手
程序中用到了combo box组合框,其中下拉菜单有10个项目,前9个是系统定义值,而如果选中第10个菜单项,那就是用户自己输入这个菜单定义了
所以我想这样操作,不知道程序是否可以实现
第一步,用户在组合框中按下拉按钮,从其中找出它想要的菜单项,此时combo box的styles属性项type设置成Drop list(即不允许你在combo box编辑框中输入信息,它是静态框)
第二步,用户如果选择了前9项,那就是用系统预设置的办法,此次选择操作完成,所选菜单项跳到编辑框中显示,编辑框仍是不可改的
第三步,如果用户选择了第10项,那就是说,这个选择内容是用户想自己输入的(不从前9个里面选),那我们必须在程序自动把styles的type属性改成Dropdown类型,那就允许用户在编辑框中输入了(注意这个编辑操作必须在用户选了第10个下拉菜单项才起作用)
不好意思我说的有点复杂吗?
请高手指教我如何写这段程序
问题点数:20、回复次数:4Top
1 楼yameng(雅梦)回复于 2006-03-03 12:36:48 得分 0
在ComboBox中使用Dropdown风格时,其实输入部分就是一个Edit控件,所以,当用户选择第10项时,你就自己创建一个Edit让用户输入就行了。Top
2 楼bobzhu2002()回复于 2006-03-03 12:58:04 得分 0
想让combo box的style属性一会变成DROPDOWN一会变成DROPLIST(根据使用要求)能做到吗Top
3 楼allenhiman(9Ft)回复于 2006-03-03 15:25:39 得分 20
不能做到的
其实两种模式的combobox的stytle是一样的,可用spy++观之,可否编辑,其实是说是否要编辑框,不能编辑的时候是没有编辑框,而不是编辑框不可用
DropDown和DropList模式无法互改,因为DropDown模式多一个Edit框
想要实现搂主的想法,只能是在点了第10项的时候自己创建一个Edit框架了
一个不错的办法是,提前就画好这个Edit框,但把它隐藏,只有在点了10的时候才显示
具体操作,想来也不难哈
当然这只是我的愚见Top
4 楼bobzhu2002()回复于 2006-03-09 10:00:03 得分 0
此问题我最后还是采用两个combo box互相来切换的办法实现了
一个combo box是Dropdown类型的,一个combo box是Droplist类型,一开始我们是采用后者来操作,此时是不能编辑的,在用户点了下拉框最后一个菜单项后,我们就马上切换到第一个combo box(两个控件放在屏幕上同一位置,运行时一点也看不出来是两个combo box),当用户选了前面几个菜单项时,马上又切到第二个combo box
程序这样写出来后,似乎运行的很好,完全达到了目的.
多谢以上各位提示Top




