在free格式数据窗口内多个编辑框控件以全局函数表达式f_textcolor(),f_backcolor()动态修改编辑框的前景色和背景色,
f_textcolor()函数脚本为
long ll_color
if i_AllowEdit = 1 then
ll_color = rgb(0,0,0)
else
ll_color = rgb(0,96,0)
end if
return ll_color
有一个菜单项可以影响这两个函数的返回值。菜单命令脚本为
if i_AllowEdit = 0 then
i_AllowEdit = 1 //允许编辑
dw_free.Object.DataWindow.ReadOnly="NO"
else
i_AllowEdit = 0 //不允许编辑
dw_free.Object.DataWindow.ReadOnly="Yes"
end if
以上代码在集成开发环境下运行可以做到动态修改前景色和背景色,但编译后脱离pb集成开发环境就不能动态修改前景色和背景色,请问如何解决这个问题?或者还有其它好办法动态修改颜色。如果直接在采单脚本中修改颜色则比较麻烦,因为每个数据窗口有很多编辑框,又有很多类似窗口要这样处理,
關注
注意是否有相应的 dll 文件没安装!
i_AllowEdit 是什么级别的变量?
建议使用资源文件。
我想还是直接在菜单脚本中修改颜色比较可行,但要采用继承方式来做,定义一全局变量,菜单中只改变全局变量值,“各窗口及控件”在其前景色和背景色属性表达式中接收gl_color值即可。