Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как контролу узнать что меняли размер род  (Прочитано 6742 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« : 03-06-2007 14:57 » 

на диалоге лежит контрол.  Когда меняют размер диалога (мышой за край) , то контролу не летит ни каких сообщений об этом

как контролу самому увидеть, что меняется размер родителя ?
Я пока только нашёл решение такое, что сообщать контролу об этом в OnWindowPosChanging() родителя, а хочется автоматики )
« Последнее редактирование: 03-06-2007 15:01 от Алексей1153++ » Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 03-06-2007 15:57 » 

Тогда меняй размер родителем.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 03-06-2007 16:57 » 

А я не совсем понял в чем вопрос. О какой автоматики говорим? Диалог не будет извещать ни о чем контролы, которые висят на нем, потому как он не знает о их существовании. Выход один, диалог подает сообщение, а его контролы на него подписываются. Какое сообщение подать? Можно подать сообщение об изменении размера диалога, можно - сообщение о перерисовке, а контролам при перерисовке смотреть, не изменились ли размеры диалога. В первом случае это, видимо, будет пользовательское сообщение, в смысле WM_USER, во-втором, можно WM_PAINT. Правда я уже подзабыл, обрабатывают ли контролы WM_PAINT, если нет, то можно подумать о каком-то другом близком системном сообщении. Если я что-то не так понял и говорю не в тему, то прошу прощения.
Записан

ещё один вопрос ...
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 03-06-2007 17:03 » new

Если хотите, чтобы родитель менял размер контролов, то родитель должен иметь перечень всех "своих контролов" и при изменении размера (а лучше при перерисовке) изменять их размеры. ПРи этом, следуя ООП, мне кажется, что правильнее будет, если  диалог будет вызывать метод контрола, который уже сам будет решать как ему масштабироваться. Т.е. правильнее было бы унаследовать контрол и внести в него этот дополнительный метод (думается, что ему стоит быть виртуальным).
Записан

ещё один вопрос ...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 03-06-2007 17:09 » 

Найк, не усложняй простое )

Что ж, оставляем изменение родителем...
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines