用户:查看:1 回复:9 评论:1 创建时间:2017-07-13T21:46:10
易语言的组件大多有一个“背景颜色”,而不可去除,导致底图会被遮住,而使之透明却是制作精美布局的必要条件。那么除了使用“透明标签”,还有办法吗?
我们都知道,“图形按钮”可以用“透明颜色”来实现透明,那我们也来在其他组件实现一下这个吧。
▲标签与其他组件覆盖底图
你可能需要这些资源:
1.底图
2.程序图标_256x256.png
3.引用模块ec文件
https://static.codemao.cn/FhVWvdlUDf8AuOY35wc8J2GetFcJ
4.引用模块e源码
https://static.codemao.cn/FnUphHnOnZVBFgY87ySvNxgMfLeo
========================图形按钮========================
先构建如下布局,所有组件均不要改名:
拖出一个“图形按钮”组件,然后绘制一个图片,希望无色的部分全部用一种颜色替代(一般为品红)。
放大到图片的实际大小
导入图片到“正常图片”栏目
设置“透明颜色”栏目为想要表示透明的颜色。对于本图片,抠除太阳,故色彩为 color.rgb(224,254,7).
太阳部分立即生效
========================标准组件========================
可是,如果我们需要让标签显示自定义的文本,还要透明,那图形按钮显然相当不合适,“异形框”也不方便操作。这时我们会想将标签的背景抠掉。
1.导入模块,然后将底图上所有标准组件背景颜色设为品红。建议选用不会抗锯齿的字体。
2.在窗口程序集中添加以下程序集变量
.版本 2
.程序集变量 透明, 逻辑型
3.为"透明化"按钮创建一个“被单击”子程序,加入以下代码:
.版本 2
透明化组件 (标签1.取窗口句柄 (), , , 标签1.宽度, 标签1.高度 + 1)
透明化组件 (编辑框1.取窗口句柄 (), , , 编辑框1.宽度, 编辑框1.高度 + 1)
透明化组件 (单选框1.取窗口句柄 (), , , 单选框1.宽度, 单选框1.高度 + 1)
透明化组件 (单选框2.取窗口句柄 (), , , 单选框2.宽度, 单选框2.高度 + 1)
透明化组件 (选择框1.取窗口句柄 (), , , 选择框1.宽度, 选择框1.高度 + 1)
编辑框1.输入方式 = 1
透明 = 真
' 该代码作用:透明化全部图片框中的标准组件,并禁止在编辑框1中输入。
在“高度”参数中,如果要求透明化准确度高,请在数值后加上“+1”字样
4.为"还原"按钮创建一个“被单击”子程序,加入以下代码:
.版本 2
组件不透明化 (标签1.取窗口句柄 ())
组件不透明化 (编辑框1.取窗口句柄 ())
组件不透明化 (单选框1.取窗口句柄 ())
组件不透明化 (单选框2.取窗口句柄 ())
组件不透明化 (选择框1.取窗口句柄 ())
编辑框1.输入方式 = 0
透明 = 假
5.打开程序,调试。尝试底部两个按钮
变成->
是不是很不错?
========================重要提醒========================
如果在透明状态下更改组件的文本,会产生错乱。建议更改组件文本后还原,重新透明化。