Хотя увидел, что можно использовать m_button3.Destroy().
Но все равно непонятно, каким образом использовать метод CWndContainer::Delete().
Vasiliy Pushkaryov:
Хотя увидел, что можно использовать m_button3.Destroy().
Но все равно непонятно, каким образом использовать метод CWndContainer::Delete().
По памяти - Delete удаляет кнопку из панели, не удаляя саму кнопку, а Destroy как раз её саму. В дебаге пройдись, посмотри, за 15 секунд найдёшь в чём дело.
Aleksey Mavrin:
Так вот и не пойму почему Delete() возвращает false все время. Пусть просто отцепит от панели. Add() - ведь нормально, true, но тут же попытка этому объекту сделать Delete() - false.
По памяти - Delete удаляет кнопку из панели, не удаляя саму кнопку, а Destroy как раз её саму. В дебаге пройдись, посмотри, за 15 секунд найдёшь в чём дело.
Vasiliy Pushkaryov:
Так вот и не пойму почему Delete() возвращает false все время. Пусть просто отцепит от панели. Add() - ведь нормально, true, но тут же попытка этому объекту сделать Delete() - false.
Так вот и не пойму почему Delete() возвращает false все время. Пусть просто отцепит от панели. Add() - ведь нормально, true, но тут же попытка этому объекту сделать Delete() - false.
юзай ДЕБАГ, не благодари.)
Может, через создание и удаление самого объекта (new delete)? Тоже как-то пытался через .Delete, через .Destroy, но бросил.
Вот в этих статья демонстрировалось удаление элементов (часть 2 (самый простой пример в конце этой части), часть 3), но там применяется пропатченная библиотека контролов (ControlsPlus), так что не могу гарантировать, что сработает со стандартной. Если кратко, то нужно элементы создавать динамически (через new), а не как автоматические члены формы, тогда они нормально удаляются.
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 2
- www.mql5.com
В первой части публикации мы рассмотрели базовые принципы описания раскладки графического интерфейса MQL-программ на языке MQL. Для их реализации потребовалось создать несколько классов, отвечающих непосредственно за инициализацию интерфейсных элементов, их объединение в общую иерархию и настройку свойств. Сейчас мы готовимся перейти к более...
Спасибо, сейчас решил свою задачу другим образом. Но Ваши статьи обязательно прочитаю, интересные возможности описываете.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мне понадобилось, чтобы во время работы советника на панель динамически добавлялись и удалялись элементы. Подскажите как правильно реализовать.
Я думал, что для удаления поможет метод CWndContainer::Delete(). Но может что-то не так делаю.
Вот описание из документации СБ:
Я взял стандартный код из справки по созданию трех кнопок на панели отсюда. И решил после добавления третьей кнопки тут же ее удалить. Добавил две строчки выделенные желтым.
В общем, вижу в журнале сообщение, что кнопку удалить не удается.
Тогда как ее правильно отцепить от панели, чтобы потом удалить? Каким образом нужно использовать метод Delete() ?