Обсуждение статьи "Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)" - страница 2
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И ещё вопрос заодно: при рисовании текстовой метки (CTextLabel) на фоне окна, имеющего некую прозрачность, метки рисуются на своём непрозрачном фоне, который не реагирует на метод Alpha(), и выглядит это не ахти ... Есть возможность сделать фон меток так же с прозрачностью?
Из статьи:
"Прозрачность в этой версии применяется только к заливке фона и рамке. Текст и изображения будут оставаться полностью непрозрачными и чёткими при любом установленном значении альфа-канала."
Привет. Толь, не нашёл что-то в примерах как теперь разделительную линию могу нарисовать в окне.
Что означает index?
Параметр какого индекса, индекса чего, туда передавать?
И ещё вопрос заодно: при рисовании текстовой метки (CTextLabel) на фоне окна, имеющего некую прозрачность, метки рисуются на своём непрозрачном фоне, который не реагирует на метод Alpha(), и выглядит это не ахти ... Есть возможность сделать фон меток так же с прозрачностью?
Параметра с индексом не должно было быть. Забыл убрать. Сейчас можно любое значение туда передавать. В одном из следующих обновлений уберу этот параметр.
Пример:
//---
...
И ещё вопрос заодно: при рисовании текстовой метки (CTextLabel) на фоне окна, имеющего некую прозрачность, метки рисуются на своём непрозрачном фоне, который не реагирует на метод Alpha(), и выглядит это не ахти ... Есть возможность сделать фон меток так же с прозрачностью?
Сейчас прозрачность каждого элемента можно настраивать вручную. На примере ниже фону окна установлено значения альфа-канала 200. Фону текстовой метки - 0.
//---
Пример:
Из статьи:
"Прозрачность в этой версии применяется только к заливке фона и рамке. Текст и изображения будут оставаться полностью непрозрачными и чёткими при любом установленном значении альфа-канала."
Это правило для всех элементов библиотеки. То есть альфа-канал можно настроить для каждого элемента отдельно.
Спасибо за пояснения. Ещё вопрос:
В какой системе координат возвращаются координаты объектов?
Допустим, если беру координату правого края кнопки m_button_text.X2(), то возвращается координата кнопки в какой системе координат? Окна-формы, или окна графика?
Я к чему: строю объекты в окне-форме. Если кнопки идут подряд одна за другой, то я беру за координату Х() второй кнопки координату Х2()+2 первой кнопки. Координата Х() третьей кнопки - это координата Х2()+2 второй, и т.д. ...
Всё хорошо пока панель находится на координате 0 графика символа. Стоит её сместить правее и переключить ТФ, как кнопки уходят правее. И чем дальше окно-форма от левого края графика, тем сильнее разъезжаются кнопки - дальше друг от друга.
Как теперь нужно задавать координаты каждой кнопки так, чтобы они на гуляли по экрану при перемещении окна-формы на новое место и последующем переключении ТФ?
Спасибо за пояснения. Ещё вопрос:
...
Возвращаются абсолютные координаты. Их нужно преобразовать в относительные. Относительно элемента, к которому присоединяется создаваемый элемент.
Если главным элементом является форма, то:
//---
Возвращаются абсолютные координаты. Их нужно преобразовать в относительные. Относительно элемента, к которому присоединяется создаваемый элемент.
Если главным элементом является форма, то:
//---
Возвращаются абсолютные координаты. Их нужно преобразовать в относительные. Относительно элемента, к которому присоединяется создаваемый элемент.
Если главным элементом является форма, то:
//---
Странно. Когда в метод построения объекта передаю координату, рассчитанную этим способом, то всё нормально...
Но если в метод передать только рассчитанную координату:
... а затем в методе сразу же отнять от переданной координаты значение m_window.X(), то всё плывёт... Хотя какая разница где отнять? Сразу, или уже в методе построения...
Мож я чего съел, но понять не могу что-то почему так?![](https://c.mql5.com/3/147/neznaet.gif)
Если в TestLibrary14 в Program.mqh вписать одну строчку - изменение цвета заголовка окна:
То сворачивание окна возвращает цвет к значению по умолчанию. А кнопки подсказок, сворачивания/разворачивания и закрытия окна перекрашиваются в цвет заголовка окна, который был программно установлен. А затем цвет этих кнопок изменяется на цвет по-умолчанию только при наведении курсора.
Кстати - а возможно ли фон этих кнопок сделать прозрачным? А то заголовок окна, например, серый, а кнопки синие...
Толь, в какой из статей этого цикла можно почитать о CKeys ?
Иногда при вводе ЧИСЕЛ в поле ввода, вводятся символы этих числовых клавиш, которые на клавише+Shift. Т.е., ввожу 2, а вводится @ ...
В некоторых ситуациях - не понял в каких (наверное зависит от количества и типа управляющих элементов на окне-форме), нажатие клавиши Backspace приводит к удалению управляющих элементов с окна-формы в обратном порядке их добавления. Не пойму почему он видит нажатие Backspace не как управляющий символ для поля ввода когда курсор в нём, а как команду на удаление управляющих элементов, находящихся на окне-форме. Т.е,: запускаю программу и начинаю нажимать Backspace- все управляющие элементы с каждым нажатием Backspace удаляются, начиная с последнего добавленного. В конечном итоге удаляется и уже ставшее пустым окно-форма.
ЗЫ. Возможно ли отключить реакцию на Backspace пока курсор не находится в поле ввода?
...
Кстати - а возможно ли фон этих кнопок сделать прозрачным? А то заголовок окна, например, серый, а кнопки синие...
Воспользоваться методами для получения указателей составных элементов. Это же правило распространяется на все элементы.