Проблемы с OnSize
От: kondrik  
Дата: 27.02.14 17:58
Оценка:
Я создаю CPropertySheet, для которого при запуске устанавливаю размеры визарда.
Для всех страниц визарда я для всех контролов делаю ресайз в OnSize, но при инициализации определенной страницы — контролы не изменяют размер.
Чтобы изменить размер — нужно вручную выполнить ресайз всего визарда.
Как принудительно выполнить ресайз или запустить OnSize() ?
.
Re: Проблемы с OnSize
От: kondrik  
Дата: 03.03.14 09:28
Оценка:
Никаких идей нет?
.
Re: Проблемы с OnSize
От: Stanislav V. Zudin Россия  
Дата: 03.03.14 10:38
Оценка:
Здравствуйте, kondrik, Вы писали:

K>Я создаю CPropertySheet, для которого при запуске устанавливаю размеры визарда.

K>Для всех страниц визарда я для всех контролов делаю ресайз в OnSize, но при инициализации определенной страницы — контролы не изменяют размер.
K>Чтобы изменить размер — нужно вручную выполнить ресайз всего визарда.
K>Как принудительно выполнить ресайз или запустить OnSize() ?

При нормальном течении событий, PropertySheet читает габариты страниц при инициализации (из описания шаблона) и выбирает свой размер, чтобы все помещались.
Страницы создаются (создается окно страницы и приходит WM_INITDIALOG) только при первом показе.
Вопрос: в какой момент ты меняешь размер PropertySheet'а?
_____________________
С уважением,
Stanislav V. Zudin
Re: Проблемы с OnSize
От: Hawk Россия  
Дата: 03.03.14 14:21
Оценка:
Здравствуйте, kondrik, Вы писали:

K>Как принудительно выполнить ресайз или запустить OnSize() ?


А что-то вроде:

GetParent()->SendMessage(WM_SIZE, 0, 0);


... не работает?
Re[2]: Проблемы с OnSize
От: Carc Россия http://www.amlpages.com/home.php
Дата: 04.03.14 11:59
Оценка:
Здравствуйте, Hawk, Вы писали:

H>Здравствуйте, kondrik, Вы писали:


K>>Как принудительно выполнить ресайз или запустить OnSize() ?


H>А что-то вроде:


H>
GetParent()->SendMessage(WM_SIZE, 0, 0);


H>... не работает?

А если мрачно забить все в OnSize что-то вроде

ASSERT(::IsWindow(HWND_контрола));


Тогда как? Есть тема что на первом OnSize не все контролы еще созданы... Обычно тема в этом.
Aml Pages Home
Re: Проблемы с OnSize
От: MasterZiv СССР  
Дата: 04.03.14 12:18
Оценка:
On 27.02.2014 21:58, kondrik wrote:

> Как принудительно выполнить ресайз или запустить OnSize() ?



SetWindowPos, но лучше всё же искать, почему у тебя не работает то, что
должно работать, чем принудительно форсить...
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.