Обсуждение статьи "Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient" - страница 2
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Владимир, спасибо за статьи, очень полезный материал. У меня может быть ламерский вопрос...
Есть объект типа CBmpButton - кнопка с изображением. Так вот, само изображение кнопки выступает тут в качестве ресурса. Как получить доступ к его свойствам? Или нельзя?
Пример из Документации.
Там я поиграл с методом CControlsDialog::CreateBmpButton1():
Объект самого изображения на панели не находится с помощью функции ObjectFind(), что вполне ест-но. А как его найти, если это вообще возможно?
Спасибо.
Изображение (рисунок) - это не объект. Объекты - это линии, прямоугольники ... графические элементы.
Здравствуйте, Владимир. Вы добавили в окно дополнительно ClientArea. И затем используете метод CMyWndClient::ShiftButton для скроллинга кнопок. Это не очень удобно, поскольку, кнопок в окне может быть много. Также, помимо кнопок может быть еще очень много элементов UI. То есть, понимаете, писать методы для каждого элемента и не забыть вызвать их в обработчиках скроллинга, та ещё задачка. А не проще скролить ClientArea? Тогда, все элементы UI, содержащиеся в нем, будут скролиться автоматически. Достаточно прописать только скроллинг ClientArea в обработчиках.
Здравствуйте, Владимир. Вы добавили в окно дополнительно ClientArea. И затем используете метод CMyWndClient::ShiftButton для скроллинга кнопок. Это не очень удобно, поскольку, кнопок в окне может быть много. Также, помимо кнопок может быть еще очень много элементов UI. То есть, понимаете, писать методы для каждого элемента и не забыть вызвать их в обработчиках скроллинга, та ещё задачка. А не проще скролить ClientArea? Тогда, все элементы UI, содержащиеся в нем, будут скролиться автоматически. Достаточно прописать только скроллинг ClientArea в обработчиках.
Напишите пожалуйста такой пример. Думаю всем будет интересна такая реализация.
Напишите пожалуйста такой пример. Думаю всем будет интересна такая реализация.
Немного подумав я разобрался. Такую прокрутку реализовать нельзя из-за невозможности частичного скрытия любых объектов чарта (в данном случае это ClientArea и кнопки). В других UI это реализовано по-другому. Там выводится прямоугольная область которая попадает в Area скроллинга, а всё остальное скрыто. Отсюда и возникла путаница.