Обсуждение статьи "Графические интерфейсы V: Элемент "Список" (Глава 2)"

 

Опубликована статья Графические интерфейсы V: Элемент "Список" (Глава 2):

В первой главе пятой части были разработаны классы для создания таких элементов управления, как вертикальная и горизонтальная полоса прокрутки. В этой статье применим их на практике. На этот раз создадим класс для создания элемента «Список», составной частью которого будет вертикальная полоса прокрутки.

Собирать список будем из нескольких объектов-примитивов и подключаемого элемента. Перечислим их.

  1. Фон списка.
  2. Массив пунктов списка.
  3. Элемент «Вертикальная полоса прокрутки».


Рис. 1. Составные части элемента «Список».

Рис. 1. Составные части элемента «Список».

 

Автор: Anatoli Kazharski

 
надо добавить две кнопки, это поля выше и ниже движка прокрутки
 
Как всегда безупречно!
 
Alexander Bereznyak:
надо добавить две кнопки, это поля выше и ниже движка прокрутки

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

Реter Konow:
Как всегда безупречно!

Спасибо. 

P.S. Но всё же до безупречности ещё далеко. ;) 

 
Anatoli Kazharski:

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

да, именно эти кнопки
 
MetaQuotes Software Corp.:

Опубликована новая статья Графические интерфейсы V: Элемент List View (Глава 2):

Автор: Анатолий Кажарский

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


При компиляции с текущей версией MT5: 5.00 build 1340 возникает Ошибка компилятора:

'return' - cannot convert from const pointer to nonconst pointer SplitButton.mqh 90 65
'return' - cannot convert from const pointer to nonconst pointer ListView.mqh 67 76

 
marquez:

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

компиляция с текущей версией MT5: 5.00 build 1340 приводит к ошибкам компилятора:

'return' - cannot convert from const pointer to nonconst pointer SplitButton.mqh 90 65
'return' - cannot convert from const pointer to nonconst pointer ListView.mqh 67 76

Спасибо.

обновления терминала появилась такая ошибка. Правила игры немного изменились. Исправить можно просто удалив спецификатор const.

Перейдите к строке с ошибкой и замените эту строку:

CContextMenu     *GetContextMenuPointer(void)        const { return(::GetPointer(m_drop_menu)); }

На эту:

CContextMenu     *GetContextMenuPointer(void)              { return(::GetPointer(m_drop_menu)); }

//---

Подобные исправления нужно внести во всех файлах, где будет встречаться такая ошибка. В следующих статьях серии ошибка будет устранена.

Спасибо за сообщение.


 
Комментарии в источнике написаны на тарабарском языке (в предыдущие разы они были на английском)
 

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

Я играю со стандартной библиотекой, и у меня есть очень простой вопрос:

Я создал список с помощью CListView. Например, я добавляю в него элементы каждую секунду. Как я могу обновить список, чтобы он автоматически показывал последние элементы без прокрутки вниз с помощью мыши?

 
Anatoli Kazharski:

Спасибо.



Привет Все еще есть проблема, после удаления "const", теперь я получаю ошибку: array out of range in 'Program.mqh' (753,32)