Muito generoso. Muito dependerá não da funcionalidade, mas das explicações dentro do código (de preferência em russo), bem como dos exemplos de diferentes painéis necessários - isso facilita muito a compreensão do código.
Exemplos de código de marcação serão mais do que suficientes.
Além da linguagem de marcação, você precisa dominar apenas a conexão dos controles à sua funcionalidade dentro do arquivo Internal API.mqh. Essa é uma tarefa de um dia.
O construtor gera TUDO. Você só precisa conectá-lo.
Devo acrescentar que você não precisa escrever nenhum código MQL para criar sua GUI. Enfatizo isso porque sempre me perguntavam isso. As pessoas não conseguiam acreditar que não era necessário programar a interface. É por isso que havia muita confusão.
Muitas vezes me perguntam onde estão minhas bibliotecas e como conectar tudo sem OOP.... Estou cansado de explicar que tudo já está resolvido. Todas as funções de conexão são geradas automaticamente. Você só precisa chamá-las onde for necessário em SEU código. Tanta simplicidade...
Реter Konow #: Muitas vezes me perguntam onde estão minhas bibliotecas e como conectar tudo sem OOP.... Estou cansado de explicar que tudo já está resolvido. Todas as funções de conexão são geradas automaticamente. Você só precisa chamá-las onde for necessário em SEU código. Que simplicidade...
Estamos aguardando a apresentação :) O público está se aquecendo :))))
ОБЫЧНАЯ РАДИО-КНОПКА. СЛУЖИТ ДЛЯ ПЕРЕКЛЮЧЕНИЯ МЕЖДУ НЕСКОЛЬКИМИ ОПЦИЯМИ.
//-------------------------------------------------------------
S_EDIT
ПОЛЕ ВВОДА С КНОПКАМИ. СЛУЖИТ ДЛЯ ПЕРЕКЛЮЧЕНИЯ ЗНАЧЕНИЙ.
//-------------------------------------------------------------
D_LIST
ВЫПАДАЮЩИЙ СПИСОК С ПУНКТАМИ И ПОЛЕМ ВВОДА. СЛУЖИТ ДЛЯ ВЫБОРА ИЛИ ВВОДА НУЖНОЙ ОПЦИИ.
//-------------------------------------------------------------
C_LIST
ВЫПАДАЮЩИЙ СПИСОК БЕЗ БЕЗ ПОЛЯ ВВОДА. СЛУЖИТ ДЛЯ ВЫБОРА ПРЕДОПРЕДЕЛЕННЫХ ОПЦИЙ.
//-------------------------------------------------------------
G_FRAME
РАМКА ДЛЯ ОБОСОБЛЕНИЯ ГРУППЫ ЭЛЕМЕНТОВ ВНУТРИ ОКНА.
ИМЕЕТ ЗАДАВАЕМОЕ НАЗВАНИЕ И ПРАВИЛА ПОЗИЦИОНИРОВАНИЯ.
//-------------------------------------------------------------
H_SEP
ГОРИЗОНТАЛЬНАЯ РАЗДЕЛИТЕЛЬНАЯ ЛИНИЯ. ДЛИННА, ТОЛЩИНА, ЦВЕТ ЗАДАЮТСЯ.
//-------------------------------------------------------------
V_SEP
ВЕРТИКАЛЬНАЯ РАЗДЕЛИТЕЛЬНАЯ ЛИНИЯ. ДЛИННА, ТОЛЩИНА, ЦВЕТ ЗАДАЮТСЯ.
//-------------------------------------------------------------
ТИП КНОПКИ. ИНТЕРАКТИВНАЯ КНОПКА. ПРИЛИПАЕТ К КУРСОРУ. МОЖЕТ ИМЕТЬ ТЕКСТ И ИКОНКУ ЕСЛИ УКАЗАНО.
//-------------------------------------------------------------
D_BUTTON
КНОПКА ДЛЯ ДИАЛОГОВЫХ ОКОН - НАПРИМЕР: ДА, НЕТ, ОТМЕНА...
//-------------------------------------------------------------
I_BUTTON
ЕЩЕ ОДИН ТИП КНОПКИ. ИМЕЕТ ТЕКСТ И ИКОНКУ.
//-------------------------------------------------------------
SQ_BUTTON
ТОЖЕ ТИП КНОПКИ.
//-------------------------------------------------------------
EDIT
ОБЫЧНОЕ ПОЛЕ ВВОДА ДЛЯ ВВОДА/ВЫВОДА ТЕКСТОВ ИЛИ ЗНАЧЕНИЙ.
//-------------------------------------------------------------
V_BOX
КАНВАС С ПРОКРУТКОЙ - НЕСЕТ ЛЮБЫЕ ГРУППЫ ЭЛЕМЕНТОВ ИЛИ ТЕКСТ.
НА ЭЛЕМЕНТЕ МОГУТ УСТАНАВЛИВАТЬСЯ ВКЛАДКИ ЯВЛЯЮЩИЕ ОБОСОБЛЕННЫЕ ГРУППЫ ЭЛЕМЕНТОВ.
//-------------------------------------------------------------
H_SLIDER
ГОРИЗОНТАЛЬНЫЙ СЛАЙДЕР. МОЖНО ВКЛЮЧАТЬ/ОТКЛЮЧАТЬ ТАБЛО С ЦИФРАМИ И ДРУГУЮ ИНТЕРАКТИВНОСТЬ.
//-------------------------------------------------------------
V_SLIDER
ВЕРТИКАЛЬНЫЙ СЛАЙДЕР. ТОЖЕ САМОЕ ЧТО И ГОРИЗОНТАЛЬНЫЙ.
//-------------------------------------------------------------
T_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА ЛЮБЫХ ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
R_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА РЯДОВ ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
C_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА КОЛОНОК ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
CELL
ОБЫКНОВЕННАЯ ЯЧЕЙКА ТАБЛИЦЫ. МОЖЕТ ИМЕТЬ ТЕКСТ И ИКОНКУ.
МОЖЕТ ИСПОЛЬЗОВАТЬСЯ ВНЕ ТАБЛИЦ. НАПРИМЕР В СПИСКАХ.
ИНТЕРАКТИВНАЯ ПО ЖЕЛАНИЮ ПОЛЬЗОВАТЕЛЯ.
//-------------------------------------------------------------
P_BAR
ОБЫКНОВЕННЫЙ ПРОГРЕСС-БАР. ПОКАЗЫВАЕТ СТАТУС ЗАВЕРШЕНИЯ ПРОЦЕССА.
//-------------------------------------------------------------
FRAME
ОБЫКНОВЕННАЯ ПРЯМОУГОЛЬНАЯ РАМКА ДЛЯ ВЫДЕЛЕНИЯ ГРУПП ЭЛЕМЕНТОВ.
//-------------------------------------------------------------
H_TAB
ГОРИЗОНТАЛЬНАЯ ВКЛАДКА. ЯВЛЯЕТ/ПРЯЧЕТ ГРУППЫ ЭЛЕМЕНТОВ ПРИ НАЖАТИИ.
//-------------------------------------------------------------
V_TAB
ВЕРТИКАЛЬНАЯ ВКЛАДКА. ЯВЛЯЕТ/ПРЯЧЕТ ГРУППЫ ЭЛЕМЕНТОВ ПРИ НАЖАТИИ.
//-------------------------------------------------------------
H_LINE
ОБЫКНОВЕННАЯ ГОРИЗОНТАЛЬНАЯ ЛИНИЯ. РАЗМЕРЫ И ЦВЕТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
V_LINE
ОБЫКНОВЕННАЯ ВЕРТИКАЛЬНАЯ ЛИНИЯ. РАЗМЕРЫ И ЦВЕТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
LABEL
ОБЫКНОВЕННАЯ ИКОНКА. МОЖЕТ ИСПОЛЬЗОВАТЬСЯ САМА ПО СЕБЕ, ВНЕ ЭЛЕМЕНТА.
ЕСТЬ ВЫБОР ВСТРОЕННЫХ ИКОНОК И СПОСОБ ИХ НАЗНАЧЕНИЯ.
//-------------------------------------------------------------
REC
ПРЯМОУГОЛЬНИК. БЕЛЫЙ ПО УМОЛЧАНИЮ. РАЗМЕРЫ И ЦВЕТ ЗАДАЮТСЯ ПОЛЬЗОВАТЕЛЕМ.
МОЖЕТ БЫТЬ ИНТЕРАКТИВНЫМ (РЕАГИРОВАТЬ НА НАЖАТИЕ ИЛИ КУРСОР И МЕНЯТЬ ЦВЕТ.)
//-------------------------------------------------------------
M_TAB
ИНТЕРАКТИВНАЯ ВКЛАДКА ГРУППЫ КОНТЕКСТНЫХ МЕНЮ В ШАПКЕ ГЛАВНОГО ОКНА. ОТКРЫВАЕТ ОКНО МЕНЮ.
//-------------------------------------------------------------
TIP
ВСПЛЫВАЮЩАЯ ПРИ НАВЕДЕНИИ ПОДСКАЗКА. ТЕКСТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
L_ITEM
ИНТЕРАКТИВНЫЙ ПУНКТ ВЫПАДАЮЩЕГО ИЛИ ОБЫЧНОГО ПРОКРУЧИВАЕМОГО СПИСКА.
//-------------------------------------------------------------
BOARD
ОБЫКНОВЕННАЯ ТЕКСТОВАЯ МЕТКА НА ПРЯМОУГОЛЬНИКЕ. ТЕКСТ, ЦВЕТ, РАЗМЕР, СТИЛЬ, ШРИФТ И ПР. ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
МОЖЕТ БЫТЬ ИНТЕРАКТИВНОЙ - МЕНЯТЬ ЦВЕТ ОСНОВАНИЯ ИЛИ ТЕКСТА И РЕАГИРОВАТЬ НА КУРСОР ИЛИ НАЖАТИЕ.
//-------------------------------------------------------------
T_CELL
ЯЧЕЙКА ТАБЛИЦЫ С ПРЕДОПРЕДЕЛЕННЫМ И НЕИЗМЕННЫМ ТЕКСТОМ УСТАНАВЛИВАЕМЫМ ПОЛЬЗОВАТЕЛЕМ.
ИСПОЛЬЗУЕТСЯ В ТАБЛИЦАХ СО СТАТИЧНЫМИ ЗНАЧЕНИЯМИ.
//-------------------------------------------------------------
M_CHECKBOX
ИНТЕРАКТИВНЫЙ ЧЕКБОКС ДЛЯ ОКНА МЕНЮ.
//-------------------------------------------------------------
TV_ITEM
ИНТЕРАКТИВНЫЙ ПУНКТ ДРЕВОВИДНОГО СПИСКА.
//-------------------------------------------------------------
TV_MENU
ЭЛЕМЕНТ МЕНЮ ДРЕВОВИДНОГО СПИСКА.
//-------------------------------------------------------------
T_FOLDER
СВОРАЧИВАТЕЛЬ ТАБЛИЦ. УСТАНАВЛИВАЕТСЯ ВНУТРИ ТАБЛИЦ ДЛЯ СВОРАЧИВАНИЯ ИХ РЯДОВ.
//-------------------------------------------------------------
G_FOLDER
СВОРАЧИВАТЕЛЬ ГРУПП ЭЛЕМЕНТОВ. УСТАНАВЛИВАЕТСЯ ДЛЯ СВОРАЧИВАНИЯ ЧАСТИ ОКНА.
//-------------------------------------------------------------
I_TEXT
ИНТЕРАКТИВНЫЙ ЭЛЕМЕНТ МНОГОСТРОЧНЫХ СПИСКОВ. НЕСЕТ ТЕКСТ, МОЖЕТ ВЫЗЫВАТЬ ОКНО ИЛИ ФУНКЦИЮ.
//-------------------------------------------------------------
T_BOX
МНОГОСТРОЧНЫЙ ТЕКСТОВЫЙ БЛОК. МОЖЕТ БЫТЬ ИНТЕРАКТИВНЫМ.
//-------------------------------------------------------------
VALUE
ТЕКСТОВАЯ МЕТКА ПЕРЕДАЮЩАЯ ЗНАЧЕНИЕ ПАРАМЕТРА ПОЛЬЗОВАТЕЛЯ ИЗ ЕГО ПРИЛОЖЕНИЯ.
ЦВЕТ, РАЗМЕР, СТИЛЬ, ШРИФТ ЗАДАЮТСЯ ПОЛЬЗОВАТЕЛЕМ. МОЖЕТ БЫТЬ ИНТЕРАКТИВНА.
//-------------------------------------------------------------
D_BAR
ВЕРТИКАЛЬНЫЙ ПРОГРЕСС-БАР. ИСПОЛЬЗУЕТСЯ В ДИАГРАММАХ.
//-------------------------------------------------------------
ОКНА
SETTINGS
ОКНО НАСТРОЕК. ИСПОЛЬЗУЕТСЯ ДЛЯ ОБЫЧНЫХ ЭЛЕМЕНТОВ, ТАБЛИЦ, СПИСКОВ.
DIALOG ДИАЛОГОВОЕ ОКНО. ВЫЗЫВАЕТСЯ ДЛЯ СООБЩЕНИЯ ИНФОРМАЦИИ ИЛИ ПОЛУЧЕНИЯ ОТВЕТА ОТ ПОЛЬЗОВАТЕЛЯ.
//------------------------------------------------------------------
CONTEXT_MENU
ВЫПАДАЮЩЕЕ КОНТЕКСТНОЕ МЕНЮ. ДЛЯ ВЫЗОВА ОКОН ИЛИ ФУНКЦИЙ.
//-------------------------------------------------------------------
IMPORTANTE!!!
QUASE TODOS OS ELEMENTOS INTERATIVOS SÃO INCORPORADOS AUTOMATICAMENTE NAS TABELAS!!!!
ou seja, controles deslizantes, barras de progresso, caixas de seleção, botões de rádio, listas suspensas, campos de entrada e outros.
Muito generoso. Muito dependerá não da funcionalidade, mas das explicações dentro do código (de preferência em russo), bem como dos exemplos de diferentes painéis necessários - isso facilita muito a compreensão do código.
Muitas vezes me perguntam onde estão minhas bibliotecas e como conectar tudo sem OOP.... Estou cansado de explicar que tudo já está resolvido. Todas as funções de conexão são geradas automaticamente. Você só precisa chamá-las onde for necessário em SEU código. Que simplicidade...
Estamos aguardando a apresentação :) O público está se aquecendo :))))
Prepare seus EAs/indicadores para a transição para uma interface gráfica. Pense no conteúdo e no design da interface (para não perder tempo).
Em breve, publicarei o construtor, o interpretador e o mecanismo.
Fornecerei instruções de instalação, exemplos de marcações e definição de propriedades de elementos.
Fornecerei explicações sobre conectividade.
A linguagem é simples e não leva muito tempo para ser dominada. Se a curva de aprendizado fosse complicada, eu não a aceitaria.
Aproveite a última oportunidade.
P.S..
Posteriormente, publicarei uma lista de controles e janelas que serão compatíveis com a primeira versão.
Algumas coisas (como lista de árvores e janela dinâmica) serão desativadas.
Se o interesse do público for grande, eu os publicarei mais tarde.
IMPORTANTE!!!
QUASE TODOS OS ELEMENTOS INTERATIVOS SÃO INCORPORADOS AUTOMATICAMENTE NAS TABELAS!!!!
ou seja, controles deslizantes, barras de progresso, caixas de seleção, botões de rádio, listas suspensas, campos de entrada e outros.
Fez um ótimo trabalho ao cuidar do construtor e do motor. Em breve (nos próximos dias) estará pronto.
Postarei os tutoriais pela manhã.
Qualquer coisa, uma vez iniciada, deve ser concluída. Mesmo que ninguém precise dela. Esse é o princípio.
E assim, os tutoriais...
Eu os publico antes do lançamento, para que, no momento do lançamento, os leitores tenham uma ideia geral da linguagem de marcação.