Не вызывается обработчик WM_NCCALCSIZE
От: Yaumen  
Дата: 23.01.10 11:47
Оценка:
Столкнулся с такой проблемой:
— Создал класс, производный от CEdit. В нем создал обработчик сообщения WM_NCCALCSIZE
— Затем в диалоговом окне разместил EDIT и создал для нее объект моего производного от CEdit класса
— Однако при запуске приложения я никогда не попадаю в обработчик OnNcCalcSize(), почему!?
Re: Не вызывается обработчик WM_NCCALCSIZE
От: NordSky Россия  
Дата: 24.01.10 20:29
Оценка:
Здравствуйте, Yaumen, Вы писали:

Y>Столкнулся с такой проблемой:

Y>- Создал класс, производный от CEdit. В нем создал обработчик сообщения WM_NCCALCSIZE
Y>- Затем в диалоговом окне разместил EDIT и создал для нее объект моего производного от CEdit класса
Y>- Однако при запуске приложения я никогда не попадаю в обработчик OnNcCalcSize(), почему!?


Может копать в сторону reflected messages? Сообщение идет родительскому окну — диалоговому и потом не возвращается в контрол. При рефлексии — сообщение вернется в контрол
Re: Не вызывается обработчик WM_NCCALCSIZE
От: migel  
Дата: 25.01.10 19:03
Оценка:
Здравствуйте, Yaumen, Вы писали:

Y>Столкнулся с такой проблемой:

Y>- Создал класс, производный от CEdit. В нем создал обработчик сообщения WM_NCCALCSIZE
Y>- Затем в диалоговом окне разместил EDIT и создал для нее объект моего производного от CEdit класса
Y>- Однако при запуске приложения я никогда не попадаю в обработчик OnNcCalcSize(), почему!?
Потому что уже поздно
На момент присоединения твоих объектов к элементам управления на диалоге (при обработке WM_INITDIALOG) начальная инициализация (WM_NCCREATE, WM_CREATE, WM_NCCALCSIZE, WM_GETMINMAXINFO и несколько других..) уже прошла.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.