Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
Alex7wrt

Сохранение цвета элемента при изменении свойства enabled в значение false

Вопрос

Добрый день.
Интересует как можно сделать, чтобы неактивный элемент (enabled=false) отображался в таком же виде как и активный (не менял свой цвет).

Изменено пользователем Alex7wrt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

Смотря какой элемент. Если это, к примеру, кнопка, то ее можно заменить простым прямоугольником и напрямую задавать нужные цвета в обработчиках событий. Это я просто как один из возможных вариантов решения предложил. Не факт, что для ТС это подойдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Спасибо за ответы!

Наверное нужно более детально описать мою задачу.

Я хочу реализовать перетаскивание объектов мышкой. Методы Drag &Drop не подходят поскольку в процессе переноса не отображается объект (по крайней мере у меня так, может это можно изменить, если можно - хотелось бы знать как).

Поэтому перетаскиваю по старинке - с помощью событий onmouse -down, - move, -up. Все нормально, пока перетаскиваемый объект один. Если же их несколько, то при пересечении "траектории" переноса с расположением другого объекта переносимый объект не движется, пока не покинет пределы другого объекта. Я понимаю что это из-за того, что при нахождении указателя мыши над другим объектом срабатывают его события. Этого не происходит если объекты неактивны (enabled=false).Тогда все отлично. Кроме внешнего вида - хотелось бы чтобы он не "тускнел". А сами объекты - не обязательно Label или кнопки. Могут быть TText например. То есть вопрос более универсальный. Когда-то давно уже сталкивался с этим вопросом но тогда быстро переключился на другой путь, и до решения дело не дошло. Вот сейчас задумался над этим.

Изменено пользователем Alex7wrt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Как и в прошлый раз пошел другим путем. Просто напросто ставим  для перетаскиваемого объекта bringtofront и он спокойно пролетает над всеми остальными.

 

Возник другой вопрос - на андроиде объект слишком медленно передвигается за позицией пальца на экране, с запаздыванием, тогда как в виндовсе такого нет. Вопрос в следующем: как избежать такого на андроиде, ускорить перемещение объекта, чтобы он все время находился в позиции курсора. Я так понимаю, что отрисовка объекта на новом месте не поспевает за генерацией события onmousemove.

Возможно для быстрых перемещений пальцем по экрану сотоит не отрисовывать объект в каждой точке, а через какой-то интервал. Это так мысли в слух. Если кто подскажет, буду признателен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...