Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какое сообщение ловить, при перерисовке, родителя? 
:(
    Опции темы
neutrino
Дата 17.2.2003, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Приветствую!

У меня такой вопрос: какое сообщение ловить, при перерисовке родителя? Вот стоит у меня на форме куча моих контролов, и они меняют свое положение. Это приводит к перерисовке формы (вернее ее части). Мне нужно, чтобы один компонент перерисовывался при этом, но т.к. он находится "над" контролами меняющими свое положение, его перерисовка автоматически не происходит. Как можно отловить это дело?
Заранее благодарен.

P.S. Ах да, забыл, я ловлю сообщение WM_ERASEBKGND может быть нужно отловить сообщение из группы CM_ ...?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Dayana
Дата 17.2.2003, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: нет
Всего: 4



neutrino, тот, который ты хочешь перерисовать является родителем контролов, которые меняют свое положение и он находится на форме?
Вообще при перерисовки ко всем приходит WM_PAINT... Ты ему и посылай это сообщение...
PM MAIL ICQ   Вверх
neutrino
Дата 18.2.2003, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Da, s pervym ty menja pravil'no ponjala.
No otkuda ja mogu uznat', chto roditel' pererisovalsja? Detjam posylaetsja soobshenie, kogda roditelju prihodit WM_PAINT?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Dayana
Дата 18.2.2003, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: нет
Всего: 4



Ты можешь отловить событии, когда перерисовываются дети, т.е. когда приходит сообщение перерисоваться. Вот тогда и посылай родителю тоже сообщение перерисоваться. Или просто в методе перерисовки ребенка вызови метод перерисовки родителя. Тогда получится, что при каждой перерисовки ребенка родитель будет перерисовываться.
PM MAIL ICQ   Вверх
neutrino
Дата 19.2.2003, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



2Dayana: А если я не могу изменять код детей?

Возможно я непонятно выразился. Попробую пояснить свою проблему подробнее.
На самом деле я все еще занимаюсь разработкой прозрачного компонента, наследованного от TCustomControl а не TGraphicControl (у последнего достаточно убрать csOpaque из свойства ControlStyle). И совсем недавно, я обнаружил глюк в своем компоненте: он неперерисовывается, при изменении положения других компонентов-детей "под" ним. Я прилагаю два изображения, иллюстрирующие этот побочный эффект.

user posted image
До перемещения кнопки компонент невиден.

user posted image
Но после перемещения, все старания коту под хвост sad.gif.

Как видно из этих изображений, на форме (родитель) есть 3 компонента - рисунок (TImage), кнопка (TButton) и мой прозрачный компонент (TTransparentControl), причем они расположены так: на форме TImage на нем TBUtton а сверху TTransparentControl (я его специально отметил прямоугольником, иначе он был бы невидим smile.gif). При перемещении кнопки, ее изображение "остается" на прозрачном компоненте. И только если мы перерисуем его, то получим желаемый эффект. Но как можно узнать в этом компоненте, двигались ли другие компоненты "под" ним? В этом и заключался мой вопрос. Я думал, перемена положения перерисовывает часть родителя, а также и всех компонентов-детей расположенных в области перерисовки, но это похоже не так. Что посоветуете?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.