Часто задаваемые вопросы и ответы по C/C++/Visual C++
Последнее обновление: 27.08.2003
FAQ по C/C++/Visual C++
Работа с сетью
Установка окна программы в полный экран
Составители: SUnteXx, Leprecon
Установка окна программы в полный экран
A: (cyberSpice)
Оригинальная ссылка: нету

//////////////////////////////////////////////////////////////////////////////
//  Установка окна программы в полный экран
//  Автор статьи: cyberSpice друг Ozzy Osbourne.
//  e-mail: alex@shuya.ipn.ru
//  www: http://shuya.ipn.ru/~cyberSpice
//////////////////////////////////////////////////////////////////////////////
Иногда требуется, чтобы программа отображалась на весь экран, тем самым предоставляя пользователю как можно больше места для работы с ней. Этого можно достичь убрав заголовок и развернув окно на весь экран, включая перекрытие панели задач.

1. В заголовке класса объявите закрытую логическую переменную-член:

...
private:
BOOL m_bFullscreen;
...

2. В обработчике, например пункта меню, напишите следующее:

   if (m_bFullscreen) {
       ModifyStyle(0, WS_CAPTION);
       AfxGetMainWnd()->ShowWindow(SW_SHOWNORMAL);
   }
   else {
       // Убираем заголовок окна
       ModifyStyle(WS_CAPTION, 0);
       // Расскрываем окно на максимум. Это не перекроет панель задач и
       // делается для того, чтобы предотвратить возможность изменения
       // пользователем размера приложения.
       AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED);
       // Изменяем размер окна по размеру экрана с учетом текущего разрешения.
       AfxGetMainWnd()->MoveWindow(0, 0,
                                   GetSystemMetrics(SM_CXSCREEN),
                                   GetSystemMetrics(SM_CYSCREEN));
   }

   // Меняем флаг состояния окна на противоположный.
   m_bFullscreen = !m_bFullscreen;

Содержание Обсудить на форуме « Предыдущая статья | Следующая статья »
Перейти к FAQ:  
FAQ составлен по материалам Форума на Исходниках.Ру.
Copyright © 2002 by Sources.ru. All rights reserved.