поиск по сайту  megainformatic  en translate to English   translate to Chinese
соц. сети twitter youtube
    поддержать
540 руб / 9 usd
Серебряный юзер
скачать
версия 09.02.2018
размер: 1,12 Gb
Сегодня
19 февраля 2018
20:34
Вход Регистрация Забыли пароль ?

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма
            &nb
подробнее...

Теги

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

Статьи сайта

megainformatic - Основы анимации во флеш на примере анимирования простейшей окружности

megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

megainformatic - Game craft - Прорисовка текстуры робота SCV шаг 5

megainformatic - Game craft - Экспорт модели из 3ds max в формат X

megainformatic - Game craft - отображение scv модели в формате x в d3d9-приложении

megainformatic - Game craft - управление игрой от Direct Input в d3d9 - приложении

megainformatic - Game craft - игровая камера в d3d9 - приложении

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 7

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 7

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 1

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 2

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 3

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 4

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 5

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 6

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 7

megainformatic - Веселый Буквоежка - онлайн комикс - страница 1

megainformatic - Веселый Буквоежка - онлайн комикс - страница 2

megainformatic - Веселый Буквоежка - онлайн комикс - страница 3

megainformatic - Веселый Буквоежка - онлайн комикс - страница 4

megainformatic - Веселый Буквоежка - онлайн комикс - страница 5

megainformatic - Веселый Буквоежка - онлайн комикс - страница 6

megainformatic - Веселый Буквоежка - онлайн комикс - страница 7

megainformatic - Веселый Буквоежка - онлайн комикс - страница 8

megainformatic - Веселый Буквоежка - онлайн комикс - страница 9

megainformatic - Веселый Буквоежка - онлайн комикс - страница 10

megainformatic - Веселый Буквоежка - онлайн комикс - страница 11

megainformatic - Веселый Буквоежка - онлайн комикс - страница 12

megainformatic - Веселый Буквоежка - онлайн комикс - страница 13

megainformatic - Веселый Буквоежка - онлайн комикс - страница 14

megainformatic - Веселый Буквоежка - онлайн комикс - страница 15

megainformatic - Веселый Буквоежка - онлайн комикс - страница 16

megainformatic - Веселый Буквоежка - онлайн комикс - страница 17

megainformatic - Веселый Буквоежка - онлайн комикс - страница 18

megainformatic - Веселый Буквоежка - онлайн комикс - страница 19

 

Что нужно знать для создания 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  
     
     
  [назад] [далее] [к содержанию]  
 

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



Время загрузки: 1,4070