![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение позиции окна [D6, WinXP]
Шмель © (2006-05-30 08:52:00)Добавил в программу сохранение позиций окон. Но работает это все как-то странно.
Значит суть такая. При закрытии окна - GetWindowPlacement
далее этот WINDOWPLACEMENT сохраняю в реестр. При запуске программы достаю настройки и SetWindowPlacement. Как-бы работает: позиция и размеры восстанавливаются. Но! Если окно было развернуто на весь экран, то свернуть в окно не получается. По идее в этом WINDOWPLACEMENT есть rcNormalPosition, который должен хранить размеры и позицию окна в нормальном состоянии, и они там есть, но почему то окну на них наплевать! Почему???
Делал даже так: placement от WinRaR'а подсовывал своей программе - та же фигня. WinRar прекрасно сворачивается в окно, восстанавливая нормальные размеры, мои окна делать этого не хотят!
Шмель (2006-05-31 11:17:00) [1]Не а! Не то. Проблема в том ,что я SetWindowPlacement не на то сообщение вешал! Все все успешно работает!
ECM (2006-05-30 19:42:00) [2]
typedef struct _WINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
showCmd Specifies the current show state of the window
Обратите внимание на это поле при сохранении и восстановлении позиций окна - я уверен Ваши прблемы исчезнут... :))