Кнопки и текстовые поля на графике mt4 теперь возможны - страница 4

 

Я пробовал использовать tbIsChecked, но он не работает. У меня есть 2 флажка. Я хочу снять флажок с DayTradechk, если отмечен SwingTradechk, и наоборот.

if(tbIsChecked(SwingTradechk)) {tbSetChecked(DayTradechk, false);}
else {tbSetChecked(SwingTradechk, false);}

В чем проблема в моем коде?

 

Добрый Афтон Я ничего не понимаю в программировании. Может ли кто-нибудь объяснить мне, как сделать кнопки и текстовые поля на графике mt4 возможно шаг за шагом?

Заранее спасибо

 
Ghost: эта ошибка уже исправлена в новой версии mt4gui. я обновлю сайт завтра. новая версия mt4gui имеет несколько отличий, которые я должен объяснить здесь.
 

Представляем вашему вниманию новую версию 0.1.08 (которая является v0.8):

Основные изменения заключаются в том, что определение функций расширено за счет hwnd в качестве первого параметра, цвета поддерживаются для всех объектов (текст, метка, кнопка, флажок, список). Также была решена ошибка tbSetChecked. В связи с многочисленными вопросами мы включили все файлы примеров и их зависимости (libtrade.mqh и libvisual.mqh) в .zip файл.

Вот последнее определение:

#import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor(int,int,int); // hwnd,object,bgcolor
   int tbSetTextColor(int,int,int); // hwnd,object,color
   
   // removing objects
   int tbRemove(int,int);  // hwnd,handle
   int tbRemoveAll(int); // hwnd
   
   // events
   bool tbIsClicked( int,int ); // hwnd,object
   bool tbIsChecked(int,int); // hwnd,object
   // properties
   int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname   
   string tbGetText(int,int); // hwnd,object   
   int tbSetChecked(int,int,bool); // hwnd,object,true|false      
   int tbEnable(int,int,int); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem(int,int,string); // hwnd,object,item
   int tbGetListSel(int,int); // hwnd,object
   int tbSetListSel(int,int,int); // hwnd,object,index
   
#import

также функция tbPutObject была подробно описана в вики http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI
 

fx1.net:

- tbSetChecked не работает, я не могу установить статус флажка на checked в функции init

- Как я могу определить, существует ли объект или нет? Я хотел бы добавить активные сделки на график в виде флажков, но не хочу создавать объекты снова и снова.

 
#import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor(int,int,int); // hwnd,object,bgcolor
   int tbSetTextColor(int,int,int); // hwnd,object,color
   
   // removing objects
   int tbRemove(int,int);  // hwnd,handle
   int tbRemoveAll(int); // hwnd
   
   // events
   bool tbIsClicked( int,int ); // hwnd,object
   bool tbIsChecked(int,int); // hwnd,object
   // properties
   int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname   
   string tbGetText(int,int); // hwnd,object   
   int tbSetChecked(int,int,int); // hwnd,object,0|1
   int tbEnable(int,int,int); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem(int,int,string); // hwnd,object,item
   int tbGetListSel(int,int); // hwnd,object
   int tbSetListSel(int,int,int); // hwnd,object,index
   


   // obj management
   int tbSetName(int,int,string); // hwnd,object,name
   string tbGetName(int,int); // hwnd,object
   int tbGetObjectsCount(int); // hwnd
   int tbGetByNum(int,int); // hwnd,pos
   int tbGetType(int,int); // hwnd,obj
   int tbGetByName(int,string); // hwnd,name
   
#import
Это новое определение. Текущая версия на сервере уже поддерживает это. См. функции управления объектами. tbSetChecked был обновлен на int,int,int и третий параметр 0|1 определяет состояние проверки.
 

Здравствуйте,

Где я могу найти последнюю сборку? На домашней странице доступна только версия 0.1.08.

 
fx1.net:
Это новое определение. Текущая версия на сервере уже поддерживает это. См. функции управления объектами. tbSetChecked был обновлен на int,int,int и третий параметр 0|1 определяет состояние проверки.


Используя ваши кнопки, невероятное дополнение для MT4.

Что касается настройки цветов, я заметил, что кнопки обязательно прямоугольные, с классической оконной штриховкой/границей.

Будет ли возможность в будущем изменить цвет этих границ. У меня есть кнопки с изображениями в качестве "шрифта", которые круглые, и я хотел бы сделать невидимой кнопку "за ней". Возможность установить tbBGColor полезна, но если будет возможность также установить цвета границ tbBorderShadowColor и tbBorderHighlightColor,

или, возможно, флаг для включения/выключения "3D" аспекта границы (т.е. чтобы сделать плоскую кнопку без видимых краев, как я упоминал, используя только текст/символ шрифта в качестве кликабельного компонента.

Еще раз спасибо за вашу работу. Вы сказали, что создаете это на C++? Хотел бы я знать его достаточно хорошо, чтобы кодировать.

Джим Бентц.

 

да, такой код возможен только на языке кодирования низкого уровня, таком как с++ и старый добрый windows mfc. мы продолжаем развивать этот проект, я не выкладываю здесь все.

спасибо всем

 
Здравствуйте,

как сделать меню "Список"? (Скрин 21.05.2011 16:15 этой темы)

Как использовать функцию:


string tbAddListItem(int hwnd,int object,string item)
string tbGetListSel(int hwnd,int object)
string tbSetListSel(int hwnd,int object,int index)
Функции, связанные с объектом Listbox ("список")

какой-нибудь пример, пожалуйста? Спасибо.