请教OBJ_BITMAP_LABEL对象背景颜色问题:系统自带面板中的最小化、关闭按钮是透明的,而我创建的却不能实现透明化?如图

 

下图是系统自带示例面板


下图我创建的


 

标准bmp位图是24位的,不带alpha通道的,而32位BMP则是一种特殊的位图。

官方标准库中的bmp是32位的,带有alpha通道(透明度),而你自己制作的bmp没有alpha通道,即不透明。

 
Ziheng Zhuang #:

标准bmp位图是24位的,不带alpha通道的,而32位BMP则是一种特殊的位图。

官方标准库中的bmp是32位的,带有alpha通道(透明度),而你自己制作的bmp没有alpha通道,即不透明。

感谢你的回复,可以还是有些疑问。我认为我也是用的它目录里的文件呢。如下图,应该是同一个文件吧。同时我看了MT5自带的示例程序,跟MT4的比对了,确认都是用的这个目录里的这个文件。


 

bmp文件没问题,那就是没有把bmp文件当作资源编译到ex4中。

这么写:

//资源编译指令
#resource "\\Include\\Controls\\res\\Close.bmp"


//注意 :: 后不能有 \\,直接 ::Include 
string on = "::Include\\Controls\\res\\Close.bmp"; 

参考:

https://www.mql5.com/zh/book/advanced/resources/resources_directive

MQL5使用指南: 使用 #resource 指令描述资源 / 第七章高级语言工具
MQL5使用指南: 使用 #resource 指令描述资源 / 第七章高级语言工具
  • www.mql5.com
要在编译后的程序版本中包含资源文件,请在源代码中使用 #resource 指令。根据文件类型的不同,该指令有不同的形式。无论如何,该指令都包含 #resource 关键字,后面跟一个常量字符串。 #resource 命令指示编译器在生成的可执行程序中包含一个文件(二进制格式 ex5...