Мы
рассматриваем основы программирования на C++ в среде программирования MSVS
2008
В
предыдущем уроке мы рассмотрели базовые операторы
языка и некоторые из его конструкций
в
этом уроке мы переходим к более конкретным примерам начиная от оконных Win32-приложений
и кончая Win32-DirectX приложениями.
Несмотря
на то, что тема описана кратко, она охватывает обширный раздел справочных
руководств (Help) по MSVS 2008 и DirectX Aug 2008. Поэтому за более подробными
сведениями обращайтесь к ним.
Далее
же приводятся основные идеи и рабочие заметки, призванные помочь тем,
кто решил научиться программировать DirectX-приложения (игры) на C++ в
среде MSVS 2005 или 2008.
Тема
посвященная созданию оконных Win32-приложений описана в разделе MSVS
2008 Documentation > Development Tools and Languages > Visual Studio
> Visual C++ > Creating and Managinng Visual C++ Projects > Visual
C++ Projects > Creating a Win32 Windows Application
Создаем
пустое оконное Win32 - приложение - File > New > Project > Win32
> Win32 Project > на вкладке дополнительных настроек в мастере создания
установить галочку Empty Project
Назначение
основных файлов создаваемых автоматически при создании не пустого оконного
Win32-приложения:
ReadMe.txt
- содержит краткое описание созданных файлов;
HelloWorld_Win32.cpp
(вместо HelloWorld_Win32 будет стоять название, которое Вы указали при
создании проекта) - базовый, главный модуль проекта, в который Вы будете
добавлять код и ссылки на другие модули;
HelloWorld_Win32.h
- интерфейсная часть проекта, содержит ссылки на другие модули и прочую
нужную информацию
Resource.h
- идентификаторы ресурсов, генерируемые IDE (Integrated Development Environment,
т.е. средой разработки - MSVS)
targetver.h
- минимальные требования к версии платформы Windows - версия Windows и
версия Internet Explorer
stdafx.h
- ссылки на типовой набор заголовочных файлов
stdafx.cpp
- ссылка на stdafx.h - stdafx.h и stdafx.cpp используются для создания
прекомпилированных pch заголовочных файлов
Обзор
стартового кода оконного Win32-приложения
Исполнение
программы начинается с функции _tWinMain, ее имя стандартно и предопределено.
Это стартовая точка входа в программу.
Код
функции выполняет начальную подготовку приложения к работе -
int
APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// TODO: Place code here. в
этом месте можно добавлять новый код
MSG msg;
HACCEL hAccelTable;
// Initialize global strings
инициализация глобальных строк
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_HELLOWORLD_WIN32, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance); //регистрация
класса приложения
// Perform application initialization: выполнение
инициализации
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
//загрузка
таблицы клавиатурных сокращений (горячих клавиш) для быстрого доступа
к меню и т.п.
// Main message loop: основной
цикл сообщений
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return (int) msg.wParam;
}
Принцип
функционирования Win32-приложения заключается в следующем: приложение запускается
и операционная система передает управление на функцию winMain. Функция выполняет
необходимый код, связанный с начальной инициализацией, запускает цикл ожидания
сообщений системы и возвращает ей управление. При возникновении в системе
сообщений, адресованных данному приложению система направляет их в специальную
оконную процедуру приложения, зарегистрированную на стадии начальной инициализации
во время его старта.
Во
время разработки оконного Win32-приложения на базе шаблона Empty может
возникнуть ряд вопросов:
Как
добавить таблицу горячих клавиш (Acclerators), таблицу строк, меню в список
ресурсов приложения?
Для
этого в окне Solution Explorer в нижней правой части нужно выбрать вкладку
Resource View и добавить требуемые ресурсы щелчком правой кнопки мыши
на пункте Resources.rc и выбором пункта Add Resource. На первый порах
можно опираться на то, что было задано в сгенерированном автоматически
не пустом шаблоне Win32 - приложения.
Впоследствии
разобравшись что к чему, Вы сможете добавлять требуемые ресурсы и настраивать
их параметры по своему усмотрению.
Рассмотрим
добавление строкового ресурса -
открываем
окно ресурсов
щелкаем
правой кнопкой по пункту Resource.rc и выбираем Add Resource
в
окне выбора нового ресурса задаем требуемый тип (в нашем случае String Table)
и нажимаем кнопку New
при
этом будет создан требуемый узел содержащий группу ресурсов данного типа,
а внутри группы будет создан ресурс с именем по умолчанию. Можно задать
требуемое имя, а в окне Properties задать требуемые свойства.
В
нашем примере задаем имя IDS_APP_TITLE, а в свойстве Caption записываем
любой текст, например Hello World Win32 App
Сохраняем
изменения в проект
Аналогичным
образом добавляются ресурсы всех остальных типов, с некоторыми особенностями,
специфичными для каждого конкретного типа ресурсов.
в
следующем уроке мы рассмотрим создание меню и диалоговых окон
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #9 сентябрь 2025+, #1 (25) январь 2026, Img Gen Megainformatic - локальная Нейросеть для генерации изображений, Img Gen Megainformatic Log модуль для Forge версии 2024-Aug-10 - локальной Нейросети для генерации изображений
читать
читать
скачать
скачать
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #12 декабрь 2025, комиксы: Веб-Мастер и Маргарита #14, Кыся #3 - комикс фэнтези, Твое будущее #1 - комикс
смотреть
читать
скачать
октрыть
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #11 ноябрь 2025, комиксы: Сикс Икс Икс - Двойное дно (6xx) #14 - комикс 18+, Несравненная Рокси #1 - комикс 18+, Эмми город надежд #3 - комикс
смотреть
читать
скачать
скачать
комиксы, Ежемесячный журнал комиксов и инди-игр megainformatic.ru #10 октябрь 2025, #6 июнь 2025+ дополнение к основному номеру за июнь, Полное превращение #1 - комикс, #7 июль 2025+ дополнение к основному номеру за июль
смотреть
скачать/читать
читать
интересное
комиксы, Ежемесячный журнал комиксов и инди-игр megainformatic.ru #9 сентябрь 2025
смотреть
читать
смотреть
starcraft комикс
комиксы
смотреть
читать комикс
читать
читать
комиксы
читать
смотреть
читать
читать комикс
игра Fishka. Ежемесячный журнал комиксов и инди-игр megainformatic.ru #8 август 2025, другие комиксы
играть
читать
читать
комикс
ежемесячный журнал комиксов и инди-игр megainformatic.ru #6 июнь 2025 - специальный выпуск Квантум 28 страниц win/linux/android/html5/pdf полная версия скачать или запустить в браузере, игра lollypop 1994 времен ms-dos, ежемесячный журнал комиксов и инди-игр megainformatic.ru #5 май 2025+ 18+ дополнение к основному номеру. Все выпуски за 1 полугодие 2025 года в одном номере - #1 январь - #6 июнь 2025 108 страниц pdf/win/linux/android/html5
скачать
играть
читать
читать
ежемесячный журнал комиксов и инди-игр megainformatic.ru #5 май 2025 - выпуск 5, #6 июнь 2025 - выпуск 6, #4 апрель 2025 спец. выпуск GAME дополнение к апрельскому номеру - все комиксы по играм!, выпуск #7 июль 2025
скачать
читать
открыть
смотреть
журнал комиксов - приложение к журналу комиксов megainformatic.ru #1 январь 2025 - выпуск 1, журнал комиксов #4 апрель 2025, 18+ дополнение #3 к журналу март 2025, 18+ дополнение #2 к журналу февраль 2025
читать
журнал
18+ дополнение #3
18+ дополнение #2
игра, журналы комиксов - номера за 2025 год - январь 2025 - март 2025
играть
смотреть
читать
журнал
игры, сервисы
играть
играть
случайный сайт
играть
видео-рассказ, уроки godot, виртуальный помощник по поиску информации
играть
читать
купить
скачать
игры Многоликий: dress - hordes эпизоды с 1 по 4
играть
скачать
купить
купить
игры, музыкальные клипы
скачать
скачать
смотреть
скачать/играть
музыкальный клип, игры
смотреть
играть
скачать
скачать
разработка игр, анимационный фильм, новогодняя дискотека 2020 - песни на итальянском, игра про лифт
смотреть
смотреть
смотреть
смотреть
игры, инструменты разработки, анимационный фильм, фильм.
купить
смотреть
смотреть
скачать
игры
скачать
скачать
скачать
купить
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), создание музыки в браузере (1)
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
бк 0010.01 - играть!
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), скачиваемые (1)
играть
играть
играть
скачать
игры в браузере
играть
играть
играть
играть
игры в браузере, скачиваемые игры
играть
скачать
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
Foxyland 2
quidget 2
играть
играть
полезный софт, игры в браузере
скачать
anova игра
A Knots Story
sabotage
сервисы, игры
24500 руб.
скачать
игра
играть
игры, программы
купить / скачать
купить
5500 руб.
скачать
поздравления, уроки рисования, уроки создания сайтов
читать
читать
читать
150 руб.
комиксы, музыка, рассказы
читать
читать
слушать
читать
игра для разработки, калькулятор услуг, cms, комикс
250 руб.
разработка на заказ
1250 руб.
350 руб.
игры для разработки, комиксы
скачать
читать
читать
скачать
игры шарики и ямки, комиксы про Костю Коробкина, ria xxl игра, fly snow 3d генератор эффектов снега, частиц и др. -
скачать
читать
150 руб.
350 руб.
Создай свою игру на fle game engine -
800 руб.
240 руб./скачать
скачать
скачать
Для создания сайта - модуль отзывов/комментариев для вашего сайта в составе megainformatic cms express files -
700 руб.
1250 руб.
150 руб.
500 руб.
Уроки Flash, бесплатные Flash - игры.
бесплатно
бесплатно
2500 руб.
14000 руб.
Поддержка сайтом нескольких языков (multi lang), создание собственной системы личных кабинетов, соц. сети или фриланс - биржи (megainformatic cms social), создание сервиса коллективных покупок на базе megainformatic cms groupon, онлайн сервис подсчёта статистики ключевых слов в статьях вашего сайта keywords gen + описание кода данного сервиса, с возможностью бесплатно реализовать его аналог на своём собственном сайте.
500 руб.
12000 руб.
14000 руб.
бесплатно
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
Системы управления сайтом, уроки
1250 руб.
бесплатно
550 руб.
500 руб.
megainformatic cms admin - простая и компактная система
для работы и управления сайтом
350 руб.
5800 руб.
3000 руб.
500 руб.
megainformatic cms free и серия продуктов - Уроки Photoshop
бесплатно
650 руб.
700 руб.
750 руб.
Данная серия посвящена описанию приемов и методов создания изображений,
с помощью инструментария программы Adobe Photoshop. Кроме того, многие
описанные средства могут вам помочь при освоении и многих других программ
для работы с растровой графикой - GIMP, Corel Photo Paint и других.
бесплатные игры 2d и 3d, а также эмулятор Ну, Погоди!
300 руб.
бесплатно
бесплатно
бесплатно
Это серия распространяемых бесплатно игр. Вы не только можете поиграть,
но и скачать исходники, получив тем самым возможность внести изменения
в игру или создать новую !!! (эмулятор Ну, Погоди! распространяется платно).
серия игр про Веселого Буквоежку, и бесплатно распространяемая игра
Нечто: Необъяснимое - в плену желаний
350 руб.
510 руб.
fle game engine
бесплатно
Здесь представлены новинки жанра - Говорящий Комикс, Настольная игра,
А также продукт, который позволит Вам научиться создавать игры самостоятельно.
Ну и конечно изюминка в своём роде - бесплатная игра - Нечто: Необъяснимое
- в плену желаний
Серия бесплатных онлайн уроков, посвященных 3ds max, photoshop, c++,
directx, delphi и php.
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
500 руб.
300 руб.
Описаны практические примеры решения различных задач, возникающих при
создании игр и сайтов.
Продукты Набор разработчика и Ваше Визуальное Шоу распространяются платно.
уроки и продукты различной тематики
бесплатно
бесплатно
бесплатно
400 руб.
Бесплатные Уроки Photoshop free, Бесплатные Уроки по программированию
на delphi directx - Как создать игру Ну, Погоди!, Бесплатная Авторская
музыка в формате mp3 - Музыкальные Миры, Платно распространяемый продукт
megainformatic cms express - система для быстрого создания Вашего сайта
на php + my sql.
Проекты игр, уроки
450 руб.
бесплатно
бесплатно
бесплатно
Игра Веселый Буквоежка, уроки delphi directx 8.1 для начинающих (описываются
основы 3d игр), моделируем девушку в 3d studio max, уроки музыки - пишем
музыку в Fruity Loops Studio
megainformatic
cms express files - это простое, быстрое и очень компактное решение
для создания первого вашего сайта. НЕ ИСПОЛЬЗУЕТ базы данных mysql.
Вместо этого используются файловые базы данных. Поэтому Вы
можете использовать систему даже на хостинге с поддержкой php, но
без поддержки баз данных my sql.
Очень
проста в установке - достаточно вам скопировать все файлы на ваш
хостинг и сайт готов к работе !!!
В комплект входят 3 готовых шаблона, модули поиска и карты сайта,
а также статьи по основам создания сайта.