unsupported image format 'C:\Users\pc\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files\Images\MyBMP\mouse.bmp'
虽然,如果直接使用,没有错误,图像也能正确显示。
#property strictstring label_name="currency_label"; // имя объекта OBJ_BITMAP_LABEL #resource "\\Files\\Images\\MyBMP\\Style-Pause-icon.bmp"; // путь к файлу каталог_данных_терминала\MQL4\Files\Images\MyBMP\... //#resource "\\Files\\Images\\MyBMP\\mouse.bmp"; string press ="::Files\\Images\\MyBMP\\Style-Pause-icon.bmp"; // RESOURCEstring unpress ="\\Files\\Images\\MyBMP\\mouse.bmp"; // путь к файлу каталог_данных_терминала\MQL4\... //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit()
{
//--- создадим кнопку OBJ_BITMAP_LABEL, если ее еще нет if(ObjectFind(0,label_name)<0)
{
//--- попробуем создать объект OBJ_BITMAP_LABEL bool created=ObjectCreate(0,label_name,OBJ_BITMAP_LABEL,0,0,0);
if(created)
{
//--- привяжем кнопку к правому верхнему углу графика ObjectSetInteger(0,label_name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
//--- теперь настроим свойства объекта ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,100);
ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,50);
//--- сбросим код последней ошибки в 0 ResetLastError();
//--- загрузим картинку для состояния кнопки "Нажата" bool set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,0,press);
//--- проверим результат if(!set)
{
PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",press,GetLastError());
}
ResetLastError();
//--- загрузим картинку для состояния кнопки "Отжата"
set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,1,unpress);
if(!set)
{
PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",unpress,GetLastError());
}
//--- отдадим графику команду на обновление, чтобы кнопка появилась сразу же, не дожидаясь тика ChartRedraw(0);
}
else
{
//--- объект создать не удалось, сообщим об этом PrintFormat("Не удалось создать объект OBJ_BITMAP_LABEL. Код ошибки %d",GetLastError());
}
}
//--- return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ voidOnDeinit(constint reason)
{
//--- удалим объект с графика ObjectDelete(0,label_name);
}
//+------------------------------------------------------------------+
[in] Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
Оператор возврата return - Операторы - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
目前,有一堆相同的文件,只在扩展名的最后一位数字上有所不同。
它们在不同的文件夹中。它们是通过符号链接连接的吗?
在MQL5中,两个终端机都是通用的。
我如何改变MT5界面的语言?我想在菜单中曾经有一个切换键,现在我找不到了。
当试图创建一个资源 时,编译器抱怨说BMP文件mouse.bmp
虽然,如果直接使用,没有错误,图像也能正确显示。
文件是在档案中。
编辑
在MT4中的行为是一样的...
当试图创建一个资源 时,编译器对BMP文件mouse.bmp "发誓"。
虽然,如果直接使用,没有错误,图像也能正确显示。
文件是在档案中。
编辑
在MT4中的行为是一样的...
不想吞下8位图。
最好转换为24或32位。
当你需要阿尔法通道时,32位是最好的,然后你可以得到一个透明背景上的图像,而不是覆盖图表的矩形背景。
在这种情况下,位图必须通过ResourceReadImage转换为数组,并且必须使用COLOR_FORMAT_ARGB_NORMALIZE。
通过模板参数扩大范围,访问有返回值的函数。
例1: 调用基类的一个函数。
例2:调用一个类的静态函数。
类主体中的模板函数重载,模板参数覆盖正确的函数版本。
(对于全局函数--允许重载就可以。)