Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
По теме привязок добавлю, что есть строгие правила и нет смысла сейчас пытаться экспериментировать с ними. Подождите более полного объяснения.
Есть привязки которые работают отдельно для групп элементов и есть те что работают с отдельными элементами внутри групп. Также есть привязки которые подходят для расположения объектов внутри элементов (как текст или иконки).
Поэтому об этом позже.
Сегодня закончим с перечислениями, раз мы начали о них говорить вчера.
Все таки, хорошо подумав, решил отложить завершение темы перечислений. Понимание дальнейшего материала этой темы требует базовых знаний правил языка которых у читателей еще нет.
Пока продолжим знакомится с элементами управления и привязками.
На сегодняшний день, в большинстве случаев, мы имели дело с простой кнопкой BUTTON. Все знают что такое кнопка, вещь самопонятная. Но в некоторые подробности стоит углубиться. Это же касается и других элементов с которыми мы работали ранее. Сделаем так: сначала пробежимся по основным характеристиками и функциям, затронем все в общих чертах, а потом остановимся на каждом элементе отдельно для более подробного рассмотрения.
И так, кнопка - интерактивный элемент меняющий состояние при нажатии. В графическом интерфейсе применяется для разных целей. В основном включить или выключить что то, но иногда вызвать окно. Вариантов применения простой кнопки много. Это вполне универсальный элемент.
А какие еще элементы мы рассмотрели? Например CHECKBOX. Зачем нужен чекбокс? Чекбокс необходим для включения, отключения или блокировки опций в настройках программы. Если же нужен выбор между несколькими опциями, подходит элемент R_BUTTON (радиокнопка). Но при условии что опций лишь несколько штук.
А если опций значительно, но не чрезмерно больше? Тогда применяется выпадающий список D_LIST или комбо-список C_LIST. Разница между этими двумя элементами в наличии или отсутствии текстового поля ввода, куда пользователь может ввести желаемый выбор. D_LIST обладает таким полем, С_LIST нет.
А что делать, когда опций в программе становиться непомерно много? Выпадающие списки становятся неудобы из за малого размера. Выход - длинные прокручиваемые листы в больших окнах. Можно посмотреть примеры в окнах шрифтов, звуков и рамок конструктора.
Но, данные списки нуждаются в полосе прокрутки. Ведь они очень длинные. И поэтому для них существует специальный элемент. "Поле обзора" V_BOX. Простой элемент с двумя полосами прокрутки и собственным канвасом. Кстати, прокрутка у него как вертикальная, так и горизонтальная. А размеры канваса устанавливаются автоматически от расчета помещаемого контента.
Пунктами списка называются элементы L_ITEM, что сокращение от "List Item". Они собираются в отдельную группу и рисуются на канвасе указанного поля обзора. Каждый элемент именуется названием пункта меню или опции и переключаются они одним к.словом SWITCH_ALL. А для внесения списка элементов L_ITEM в поле обзора V_BOX, используется ключевое слово "IN". Позиционирование простое - LEFT_TOP, 0,0,.
Далее рассмотрим перечисленные элементы подробнее и в том же порядке. Мы поговорим о позиционировании, состояниях, свойствах и атрибутах.
...И рассмотрим варианты применения в контексте трейдерских программ.
Обыкновенная кнопка: BUTTON
4 разновидности кнопок конструктора:
Имеет относительно устаревший вид и простой функционал как и любая классическая кнопка. Есть иконка.
//-------------------------------------------------------------------------------------------------------------------------------------
Красивая интерактивная кнопка плавно реагирующая на наведение/отведение курсора. Используется как и обычная кнопка, но менее заметна и в нейтральном состоянии не имеет обрисованных границ. В основном без текста и с иконкой. Чаще квадратной формы.
//-------------------------------------------------------------------------------------------------------------------------------------
В основном используется для тулбара в шапке главного окна. Часто без текста, но с иконкой и обычно квадратной формы. Прилипает к курсору при наведении. Вызывает окна или функции. Имеет стрелку.
//-------------------------------------------------------------------------------------------------------------------------------------
Ставится внизу диалоговых окон для взаимодействия с пользователем. Несет такие тексты как "Ок", "Yes", "No", "Cancel", "Abort", "Continue", "Accept", "Next", "Previous", "Skip", "Confirm", "Open", "Close",... и другие слова этого жанра.
На всех кнопках можно устанавливать иконки и текст, а также цвет для различных состояний.
При этом, кнопки могут менять текст и иконку в зависимости от состояния. В нейтральном один текст или иконка, а в активированном - другой.
Например:
Все кнопки отжаты и находятся в нейтральном состоянии:
А теперь мы их нажали и они сменили текст и иконку: (кроме диалоговой кнопки, так как она после нажатия закрывает окно и в этом нет необходимости)
Текст интерактивной кнопки накладывается на иконку, но так задумано, потому что есть возможность позиционировать иконку и текст внутри кнопки.
Таким образом, кнопки могут менять текст при нажатии. Причем, текст и имя кнопки - разные вещи. Текст для нейтрального состояния можно задать словом N_TEXT, и вместо имени кнопки появится другой текст пользователя.
Для иконки тоже самое. Задается иконка для нейтрального состояния и для активного.
Код:
Пожалуй одна из главных функций кнопок - вызов окон. Нажимаем на кнопку в одном окне и открывается другое окно.
Как это делается?
Двумя способами:
Важно заметить: совпадение названия кнопок или пунктов меню с названиями окон приводит к открытию данных окон при нажатии на эти элементы.
И второй вариант:
Результат:
Ну и напоследок сегодня:
Прячем текст кнопки с помощью к.слов
Пример:
Код:
Готовлю обновление и сегодня урок не состоится. Интересующиеся материалом могут отдохнуть день-другой. :)
Продолжим на новом билде конструктора.