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
今のところ、拡張子の下1桁だけが異なる同一ファイルが大量に存在します。
別のフォルダーに入っています。シンボリックリンクでリンクされていますか?
MQL5では両端末共通。
MT5のインターフェースの言語を変更する方法を教えてください。以前はメニューにトグルがあったように思うのですが、今は見当たりません。
リソースを作成 しようとすると、コンパイラはBMPファイルmouse.bmpについて「文句」を言います。
ただし、直接使用した場合は、エラーにならず、正常に表示されます。
ファイルはアーカイブにあります。
編集部
MT4での動作は同じですが・・・。
リソースを作成 しようとすると、コンパイラがBMPファイルmouse.bmpに "悪態 "をつく
ただし、直接使用した場合は、エラーにならず、正常に表示されます。
ファイルはアーカイブにあります。
編集部
MT4での動作は同じですが・・・。
24ビットか32ビットに変換したほうがいい。
アルファチャンネルが必要な場合は、32ビットが望ましいです。
その場合、ResourceReadImageでビットマップを配列に変換し、COLOR_FORMAT_ARGB_NORMALIZEを使用しなければならない。
戻り値を持つ関数にアクセスするためにテンプレートパラメータを介してスコープを拡張しています。
例1: ベースクラスの関数を呼び出す。
例 2: クラスの静的関数を呼び出す
クラス本体でのテンプレート関数のオーバーロード、テンプレートパラメータは正しい関数バージョンをオーバーライドします。
(グローバル関数については、オーバーロードを許可しても問題ありません。)