猫史档案馆


【教程】易语言窗口组件背景透明方法

用户:查看: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.打开程序,调试。尝试底部两个按钮


变成->


是不是很不错?

========================重要提醒========================

如果在透明状态下更改组件的文本,会产生错乱。建议更改组件文本后还原,重新透明化。


回复

上一页1 页 / 共 1下一页
ftxqgfudiftxqgfudi

对于不会使用易语言的人来说一点用也没有。

点赞0


评论


萌新what萌新what

我玩过易语言

点赞0


评论


咚当家族编辑部咚当家族编辑部

我用易语言重来不用模块的

点赞0


评论


咚当家族编辑部咚当家族编辑部

要用就用纯代码

点赞0


评论


@小黄龙

我确实发了源码。你加到程序集中吧。


点赞0


评论


HJS_菜稽HJS_菜稽

吃我一记洛阳铲

点赞0


评论


滕公子*ഒ滕公子*ഒ

大佬你好,希望你能看到我的回复,我想要这个模块

点赞0


评论


蘑菇的队长蘑菇的队长

这是VB吗?之前学过一次。

点赞0


评论


乃翁m7eU乃翁m7eU

666在编程猫社区还能见到易语言

点赞0


评论