Обсуждение статьи "Графические интерфейсы X: Элемент "Многострочное текстовое поле ввода" (build 8)"

 

Опубликована статья Графические интерфейсы X: Элемент "Многострочное текстовое поле ввода" (build 8):

Рассматривается элемент "Многострочное поле ввода". В отличие от графического объекта типа OBJ_EDIT, в представленной версии не будет ограничений на количество вводимых символов. Кроме этого, становится доступен режим, когда поле ввода превращается в простой текстовый редактор, где курсор можно перемещать мышью или клавишами.

После компиляции приложения и загрузки его на график вы увидите следующее:

 Рис. 9. Графический интерфейс с демонстрацией элемента «Текстовое поле ввода»

Рис. 9. Графический интерфейс с демонстрацией элемента «Текстовое поле ввода»

 

Автор: Anatoli Kazharski

 

В первую очередь, спасибо за статью.

Очень большая просьба, - сделайте пожалуйста gif-анимацию. Невозможно составить объективное представление о работе элемента. Нужно увидеть глазами.

Если не трудно.

Спасибо.

 
Реter Konow:

...

Очень большая просьба, - сделайте пожалуйста gif-анимацию. Невозможно составить объективное представление о работе элемента. Нужно увидеть глазами. 

Загрузите файлы к себе на компьютер и протестируйте самостоятельно, пожалуйста. Это будет лучше, чем gif-анимация.
 
Anatoli Kazharski:
Загрузите файлы к себе на компьютер и протестируйте самостоятельно, пожалуйста. Это будет лучше, чем gif-анимация.

Вот как я себе это представляю:

1. Закончить изучение ООП.

2. Изучить до конца все взаимосвязи библиотеки, - ее классов, функций, переменных...

3. Написать советник реализующий элемент описанный в статье. Однако, даже при этом у меня могут возникнуть сложности, и мне придется переписываться здесь с Вами, чтобы Вы помогли их решить.


Безусловно, этот вариант лучше, но я смогу его реализовать только через несколько недель, а может месяцев...

А тут, несколько десятков минут и результат увидят все...

Ну, да ладно...

 
Реter Konow:

Вот как я себе это представляю:

1. Закончить изучение ООП.

2. Изучить до конца все взаимосвязи библиотеки, - ее классов, функций, переменных...

3. Написать советник реализующий элемент описанный в статье. Однако, даже при этом у меня могут возникнуть сложности, и мне придется переписываться здесь с Вами, чтобы Вы помогли их решить.


Безусловно, этот вариант лучше, но я смогу его реализовать только через несколько недель, а может месяцев...

А тут, несколько десятков минут и результат увидят все...

Ну, да ладно...

Всё что Вам нужно сделать, это загрузить к себе файлы из архива в конце статьи и скомпилировать эксперта для теста. Это займёт у Вас не более одной минуты.
 
 
Anatoli Kazharski:

Спасибо.

Курсор отлично бегает по тексту. Переносится с помощью мышки и клавиш. Текст прокручивается. Это то что я понял.

Но я не понял, как текст попадает на полотно. На видео Вы не показали.

 
Реter Konow:

...

Но я не понял, как текст попадает на полотно. На видео Вы не показали.

Также, как Вы вводите текст с клавиатуры, также он и попадает там на полотно. И на видео это тоже показано (ввод текста 'Hello world!'). 

Загрузите файлы для теста и сами попробуйте. 

 
Anatoli Kazharski:

Также, как Вы его вводите с клавиатуры, также он и попадает там на полотно. И на видео это тоже показано. 

Загрузите файлы для теста и сами попробуйте. 

На видео Вы вводите текст в поле ввода наверху. "Hello world!" не попадает на полотно. Поэтому я и спрашиваю.


Добавлено:

Я загрузил библиотеку, но честно говоря даже не представляю как все это сделать. Инструкции ведь нет.

 
Реter Konow:
На видео Вы вводите текст в поле ввода наверху. "Hello world!" не попадает на полотно. Поэтому я и спрашиваю.

На видео два поля ввода созданных с помощью реализованного в статье класса CTextBox

Первое поле ввода в однострочном режиме. Второе поле ввода в многострочном режиме. В статье об этом написано в разделе:

Для теста создадим MQL-приложение с графическим интерфейсом, где будет два текстовых поля ввода. Одно будет однострочным, а второе — многострочным.

Может, прежде чем вопросы задавать и делать заявления, Вы сначала статью прочитаете и протестируете предоставленные файлы для тестов? Это необходимый минимум для выхода к обсуждению.

 
Anatoli Kazharski:

На видео два поля ввода созданных с помощью реализованного в статье класса CTextBox

Первое поле ввода в однострочном режиме. Второе поле ввода в многострочном режиме. В статье об этом написано в разделе:

Может, прежде чем вопросы задавать и делать заявления, Вы сначала статью прочитаете и протестируете предоставленные файлы для тестов? Это необходимый минимум для выхода к обсуждению.

К слову, я никаких заявлений не делал. Статью прочел, но главные вещи так и не понял (много кода и взгляд теряется).

Если можете, ответьте пожалуйста на несколько вопросов:

1. В приложении для теста элемента, объявлен массив инициализированный строками. Значит ли это, что строки попадают на полотно из него, или их можно печатать прямо на полотне?

2. Верхнее поле ввода самостоятельно и не имеет отношения к нижнему полотну? Значит, текст из него на полотно не переноситься? Его смысл в том, чтобы увеличить кол-во вводимых символов?

3. Если текст полотна инициализируется внутри программы, а не пишется на полотне, то зачем нужен бегающий курсор?

4. Можно ли стирать текст на полотне курсором и добавлять с клавиатуры?


Благодарю.

Причина обращения: