[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Графика / Direct x /

Переключение между оконным и полноэкранным режимами

Привет всем кому интересны мои уроки...

Продолжим изучать D3D8 и в данном уроке мы научимся в реальном времени переключаться между оконными и полноэкранными приложениями, зачастую эта возможность очень нужна. В принципе ничего нового для вас здесь не будет. Здесь обобщены некоторые подходы из прошлых уроков и дано решение, как осуществить то, что задумано в теме этого урока.

С прошлых уроков у нас имеется полный список всех доступных видеорежимов, их количество. Для реализации переключения нам не хватает информации об используемом разрешении рабочего стола (для оконного приложения). Давайте заведем еще одну переменную, где будем хранить эту информацию :


D3DDISPLAYMODE	d3dwindm;

а инициализировать его будем сразу после того как создали D3D8 в функции AppInit() . Самое начало данной функции будет выглядеть следующим образом :

до этого момента у нас информация об текущем разрешении экрана узнавалась лишь перед самой инициализацией оконного D3D8.

Теперь мы можем приступить к реализации задуманного в заголовке урока. Все это я поместил в функцию обработки сообщений главного окна :

Здесь добавляются два обработчика - для нажатия левой кнопки мыши и для нажатия клавиши Escape на клавиатуре.

Если нажали, в оконном режиме, на левую кнопку мыши - то у нас появляется диалоговое окно для выбора, и затем устанавливаются выбранные параметры.

Ранее созданная нами переменная для хранения информации о параметрах видеорежима рабочего стола нужна нам при полноэкранном режиме. Точнее для переключения (при нажатии Escape) обратно в оконный режим.

Первоначально в полноэкранном режиме можно было самому выбрать в каой режим переключаться (использовалось диалоговое окно), но из-за одной проблемы (этот диалог иногда появлялся, а иногда нет, и покопавшись в документации и задав пару вопросов в форумах, оказалось, что в D3D8 при полноэкранном режиме нельзя использовать Windows GDI) пришлось от этого отказаться и просто возвращаться к оконному режиму, где заново можно выбрать режим. Так же работает и переключение с одного полноэкранного режима на другой, но для этого вам необходимо каким либо образом реализовать этот выбор у себя в программе.

Теперь, запустив программу, вы можете спокойно переключаться между режимами.

На данный момент пока все...




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Графика / Direct x /

DirectX
17-05-2010   

Это - библиотека диспетчера Microsoft DirectX, чтобы оптимизировать графы и звуковые представления для Windows... подробнее

Кол. просмотров: общее - 2871 сегодня - 0

Особенности программирования DirectX графики
07-02-2009   

Особенности программирования DirectX графики для видео карт nVidia (по материалам nVidia)... подробнее

Кол. просмотров: общее - 3194 сегодня - 0

DirectX 8.0 FAQ
26-01-2009   
Кол. просмотров: общее - 3399 сегодня - 2

Пишем DirectX-движок
25-01-2009   

Темой этого урока я решил сделать написание т. н. движка. Полагая, что всегда существует определённый контингент людей, только начавших изучать мультимедийные и игровые технологии, и плавающие в загадочных понятиях, объясню, что такое движок и на каком бензине он работает... подробнее

Кол. просмотров: общее - 3231 сегодня - 1

Что может наша видеокарта, что можем сделать мы и как это узнать?
15-01-2009   

По прошествии некоторого времени после празднования Нового Года и всего, что с ним связано, предлагаю вашему вниманию новый урок. Посвящен он будет извлечению информации о возможностях вашей видео карты... подробнее

Кол. просмотров: общее - 3069 сегодня - 1



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects