老师好:
我在ComboBox 初始化的时候 ,根据 存储的信息,对其进行动态添加 他的下拉框中的内容,已经完成。当我需要单击确认按钮的时候,如果我们对该ComboBox 进行单击选中操作,则确认按钮则认为该ComboBox 中为空值,不是我们看见的初始值。
前提: 我是通过 声明一个全局变量,并将该变量与ComboBox 控件进行关联 在R文件中。确认按钮中 就是使用的 该全局变量 。
用到的相关API:
1、mdlStringList_create
2、mdlStringList_insertMember
3、mdlStringList_setMember
4、mdlDialog_comboBoxSetStrListP
给combox 动态添加内容后的效果图如下:
平凡人生 said:当我需要单击确认按钮的时候,如果我们对该ComboBox 进行单击选中操作,则确认按钮则认为该ComboBox 中为空值,不是我们看见的初始值。
你这段话的意思似乎和你截图中标注的文字的意思是相反的。你再仔细看一遍。
我认为你截图中的文字描述得是正确的。不单击ComboBox时,就没有机会和你定义的后台变量执行同步操作,所以,获取的值是空。你应该在.r中或.cpp中对这些变量先赋一个初始值,和你ComboBox中的对应即可。
Answer Verified By: 平凡人生
初始值 是 不固定的,所以 老师 是否有别的办法 让他们同步呢?
Bentley 二次开发小白一枚
这个就比较复杂了,属于高级编程范畴。
1、需要在.h和.r中配合定义一种自己的资源。用来保存所有与界面相关的变量的结构体
2、在.r中对这个结构体设置初始值
3、在程序卸载时将所有当前值写回资源文件中(原来是直接写回.ma的,但现在.ma所在位置不能写了,需要往系统的pref资源中写)
4、在程序装载时要先考察系统pref资源中是否有你的资源,有则装载。没有则采用你.r(编译后在.ma)中的默认值。