При разработки приложения столкнулся со следующей проблемой в Windows 7 (Aero).
Проблема, как видно из темы это стиль Aero и заголовок приложения, а именно...
Если приложение стартует изначально в оконном режиме, то всё отлично — никаких вопросов.
Как только юзер переключается в полноэкранный режим и обратно в оконный,
с заголовком приложения происходит следующее
— никакого Aero =(
Но это еще не всё) Если приложение изначально стартует в полноэкранном режиме, а потом переключаемся в оконный,
то всё вроди бы в поряде, за исключением отсутствующей иконки =(
Может кто-нибудь сталкивался с подобной проблемой?
Поделитесь мыслями по этому поводу. Заранее спасибо!
З.Ы. На разную ширину приложения на картинках не обращайте внимание — с фотошопом лень было возиться.
Здравствуйте, wraith1985, Вы писали:
W>Как только юзер переключается в полноэкранный режим и обратно в оконный, W>с заголовком приложения происходит следующее
в программе или поиграть садится? если в программе, то как реализован полноэкранный режим?
Здравствуйте, о_О, Вы писали:
о_О>Здравствуйте, wraith1985, Вы писали:
W>>Как только юзер переключается в полноэкранный режим и обратно в оконный, W>>с заголовком приложения происходит следующее о_О>в программе или поиграть садится? если в программе, то как реализован полноэкранный режим?
Всё происходит в программе.
В реализации, по моему, ничего особенного.
Здравствуйте, о_О, Вы писали:
о_О>Здравствуйте, wraith1985, Вы писали:
о_О>а параметры класса какие? а нестандартные контролы на форме есть?
Никаких нестандартных контролов нет, там вообще контролов нет — это каркас игрового приложения.
А параметры какого класса имеете в виду?
о_О>а зачем SetWindowPos(hwnd, HWND_TOPMOST когда есть ITaskbarList2::MarkFullscreenWindow?
Не подскажите как с данным интерфейсом работать? =)
Здравствуйте, wraith1985, Вы писали:
W>В реализации, по моему, ничего особенного.
... W> SetWindowPos(hwnd, HWND_NOTOPMOST, rc->left, rc->top, rc->right-rc->left, rc->bottom-rc->top, SWP_FRAMECHANGED);
Как раз в релизации-то и дело, в SetWindowPos.
Если бы сделали, например, через ShowWindow SW_MAXIMIZE/SW_RESTORE — казуса с оконными метриками не было бы.
Суть в том, что Aero — это очень шаткий костыль, и вышибить его ничего не стоит.
Почитайте-ка недавний топик со сходным названием — http://rsdn.ru/forum/winapi/4244908.flat.aspx
Здравствуйте, kero, Вы писали:
K>Здравствуйте, wraith1985, Вы писали:
W>>В реализации, по моему, ничего особенного. K>... W>> SetWindowPos(hwnd, HWND_NOTOPMOST, rc->left, rc->top, rc->right-rc->left, rc->bottom-rc->top, SWP_FRAMECHANGED);
K>Как раз в релизации-то и дело, в SetWindowPos. K>Если бы сделали, например, через ShowWindow SW_MAXIMIZE/SW_RESTORE — казуса с оконными метриками не было бы. K>Суть в том, что Aero — это очень шаткий костыль, и вышибить его ничего не стоит. K>Почитайте-ка недавний топик со сходным названием — http://rsdn.ru/forum/winapi/4244908.flat.aspx