Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Делись ссылками с других ресурсов. Теперь они имеют описание!
Юрий
18
Юрий 2014.07.23 16:30 

Помогите, пожалуйста, вставить в эксперт функцию вставки картинки в окно терминала.

Смотрел на OBJ_BITMAP, только пример в документации на скрипт, мне нужно вставить в эксперт.

Помогите плз, может какой-то другой командой?! 

Карпутов Владимир
203
Карпутов Владимир 2014.07.24 13:30  
Klimov_Yuriy:

Помогите, пожалуйста, вставить в эксперт функцию вставки картинки в окно терминала.

Смотрел на OBJ_BITMAP, только пример в документации на скрипт, мне нужно вставить в эксперт.

Помогите плз, может какой-то другой командой?! 

 

Вот пример для OBJ_BITMAP_LABEL. Плюс картинки в архиве, которые нужно скопировать в папку Images:

//+------------------------------------------------------------------+
//|                                             OBJ_BITMAP_LABEL.mq4 |
//|                              Copyright © 2014, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
string label_name="currency_label";        // имя объекта OBJ_BITMAP_LABEL 
string euro      ="\\Images\\euro.bmp";    // путь к файлу каталог_данных_терминала\MQL5\Images\euro.bmp
string dollar    ="\\Images\\dollar.bmp";  // путь к файлу каталог_данных_терминала\MQL5\Images\dollar.bmp
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- создадим кнопку 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,euro);
         //--- проверим результат
         if(!set)
           {
            PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",euro,GetLastError());
           }
         ResetLastError();
         //--- загрузим картинку для состояния кнопки "Отжата"
         set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,1,dollar);
         
         if(!set)
           {
            PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",dollar,GetLastError());
           }
         //--- отдадим графику команду на обновление, чтобы кнопка появилась сразу же, не дожидаясь тика
         ChartRedraw(0);
        }
      else
        {
         //--- объект создать не удалось, сообщим об этом
         PrintFormat("Не удалось создать объект OBJ_BITMAP_LABEL. Код ошибки %d",GetLastError());
        }
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- удалим объект с графика 
   ObjectDelete(0,label_name);
  }
//+------------------------------------------------------------------+
Файлы:
dollar.zip 7 kb
poruchik
908
poruchik 2014.07.24 15:34  

А можно пример вставки картинки по нажатию кнопки (Button)

И только  .bmp можно вставлять? 

картинку прозрачной можно сделать? (для просмотра графика - "график сверху" - галочка снята)) 

Карпутов Владимир
203
Карпутов Владимир 2014.07.24 15:43  
poruchik:

А можно пример вставки картинки по нажатию кнопки (Button)

И только  .bmp можно вставлять? 


OBJ_BITMAP_LABEL

У этого объекта есть два режима: Off и On - отжата и нажата соответственно. Т.е. это  кнопка у которой есть два режима и для этих двух режимов можно назначить разные картинки.


Это просто кнопка - картинку кнопке нельзя назначить.
Юрий
18
Юрий 2014.08.04 08:11  
barabashkakvn:

Вот пример для OBJ_BITMAP_LABEL. Плюс картинки в архиве, которые нужно скопировать в папку Images:

Огромное спасибо!

Все получилось! 

poruchik
908
poruchik 2014.08.04 08:56  
да, Владимир, спасибо. Использую ваш код
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий