fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
27 июня 2017
22:02
Вход Регистрация Забыли пароль ?

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 2
Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 2 Предлагаем вашему вниманию онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as). Сказка всегда представляется такой
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

ЛЕТО

megainformatic - Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

megainformatic - Основы создания 3d игр - проект Тайны Морских Глубин

megainformatic - уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

megainformatic cms admin

megainformatic - Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

megainformatic - Теория и практика 3d игр - О Кватернионах

megainformatic - Теория и практика 3d игр - Основы теории векторов

megainformatic - Теория и практика 3d игр - Важные замечания

megainformatic - Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

megainformatic - Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

megainformatic - Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

megainformatic - Подводная лодка и подводный мир

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

модуль slider

megainformatic cms seo

Поддержка сайтом нескольких языков - модуль multi lang

Поддержка сайтом нескольких языков - модуль multi lang

megainformatic - Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Описание продукта megainformatic cms social

megainformatic - ТЗ на сайт по аналогии rys-stroi.ru

megainformatic cms groupon

megainformatic - дизайн сайта строительной компании УЛЬТРА-СТРОЙ

megainformatic - Тестирование подключения платежной системы

megainformatic - Выпадающее окно регистрации на сайте

megainformatic - Тестирование подключения к платежной системе с использованием скрипта эмулятора

megainformatic - Модуль для регистрации пользователя на сайте

megainformatic - Код для модуля регистрации пользователя на сайте

megainformatic - Быстрый подсчёт ключевых слов в статье

megainformatic - Модуль подсчёта ключевых слов в статье

megainformatic - Онлайн-сервис для подсчёта статистики ключевых слов

megainformatic - Пишем слайдер на javascript с нуля

megainformatic - Логика работы слайдера на javascript

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

megainformatic - Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

megainformatic - Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

megainformatic - Пишем свою cms - шаг 1

megainformatic - Пишем свою cms - шаг 2

megainformatic - Пишем свою cms - шаг 3

megainformatic - бесплатная флеш игра freeway fury 2 - разработчик Serius Games

megainformatic - бесплатные флеш игры сторонних разработчиков

megainformatic - Как я осваивал Flash

 

Что нужно знать для создания DirectX-приложений на C++ в среде Microsoft Visual Studio 2008

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

 
     
   
     
 

Данный урок является введением в программирование на C++ в MSVS 2008

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основы программирования на C++ в среде программирования MSVS 2008  
     
 

Реализация данной задачи - вывод диалога выбора цвета, например при нажатии пункта меню Save, будет выглядеть так (код нужно добавить в функцию WndProc) -

case IDM_OPTIONS_SAVE:
{

//++ учебный код для отображения диалога выбора цвета при выборе пункта меню Save
CHOOSECOLOR chcol;
chcol.lStructSize = sizeof(CHOOSECOLOR);
chcol.hwndOwner = hWnd;
static COLORREF CustColorsArray[16];
chcol.lpCustColors = CustColorsArray;
chcol.Flags = CC_FULLOPEN;
ChooseColor(&chcol);

//++


}
break;

 
     
 

Выбранный цвет должен использоваться в качестве цвета рабочей области окна приложения

Получение доступа к цвету рабочей области окна приложения

В функции MyRegisterClass при регистрации окна осуществляется задание начального цвета рабочей области окна -

wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

CreateSolidBrush

GetClassInfoEx

SetClassLongPtr(

Поиск информации по типу HBRUSH - на вкладке Index справки набрать HBRUSH, в списке вариантов выбрать HBRUSH, в открывшемся окне найти HBRUSH и открыть соответствующую ему тему brush

 
     
  HBRUSH hbrush, hbrushOld;


// Create a brush.
hbrush = CreateSolidBrush(RGB(255, 0, 0));

// Select the new brush, and then draw.
hbrushOld = SelectObject(hdc, hbrush);

// Do not forget to clean up.
SelectObject(hdc, hbrushOld);
DeleteObject(hbrush);

 
     
 

Полный вариант: реализация поставленной задачи - вывод диалога выбора цвета и смена цвета рабочей области окна в соответствии с выбранным в диалоге цветом -

case IDM_OPTIONS_SAVE:
{

CHOOSECOLOR chcol;
chcol.lStructSize = sizeof(CHOOSECOLOR);
chcol.hwndOwner = hWnd;
static COLORREF CustColorsArray[16];
chcol.lpCustColors = CustColorsArray;
chcol.Flags = CC_FULLOPEN;
if (ChooseColor(&chcol))
//вызываем диалог и запоминаем выбранный цвет
WindowBackgroudColor = chcol.rgbResult;

if (hWindowBackgroundBrush) //удаляем созданную ранее кисть HBRUSH если она существовала
DeleteObject(hWindowBackgroundBrush);

hWindowBackgroundBrush = CreateSolidBrush(WindowBackgroudColor); //создаем новую кисть выбранного цвета

//задаем кисть в качестве фона окна приложения

SetClassLongPtr(hWnd, GCLP_HBRBACKGROUND, (LONG)hWindowBackgroundBrush);

//выполняем перерисовку окна, иначе фон изменится только после свертывания и развертывания окна
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

//++


}
break;

Переменные

//++
COLORREF WindowBackgroudColor;
HBRUSH hWindowBackgroundBrush;
//++

объявляются в начале модуля приложения как глобальные

Обработчик сообщения WM_DESTROY примет следующий вид:

case WM_DESTROY:
{
if (hWindowBackgroundBrush)
DeleteObject(hWindowBackgroundBrush);
PostQuitMessage(0);
}
break;

 
     
 

Начальный цвет фона рабочей области окна задается в функции MyRegisterClass строкой кода -

//wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.hbrBackground = (HBRUSH)(COLOR_BACKGROUND+1);

при этом будет использован системный цвет заднего плана (по-умолчанию черный)

 
     
  Для задания произвольных цветов рабочей области нужно использовать HBRUSH по аналогии с тем, как это сделано в обработчике выбора пункта меню Save (IDM_OPTIONS_SAVE)  
     
  в следующем уроке - Написание приложения DirectX9c + MFC в среде MSVS 2005  
     
     
  [назад] [далее] [к содержанию]  
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
визиты
сегодня: 1463
всего: 9731
посетители
сегодня: 273
всего: 22214
Время загрузки: 0,2263