Вакансии
Игродельня
Сегодня
23 ноября 2024
16:01
Вход Регистрация Забыли пароль ?

megainformatic cms express files - Развертывание сайта на Вашем хостинге
       
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

megainformatic cms groupon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

webinformatic - Список уроков на тему создания flash приложений и игр

webinformatic - Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

webinformatic - игра Веселый Буквоежка

webinformatic - игра Веселый Буквоежка

webinformatic - Использование cron, crontab и планировщика задач

webinformatic - Совместное использование jquery и mootools или других js-фреймворков

webinformatic - Модуль content php performer для megainformatic cms

webinformatic - Пишем компактный слайдер

webinformatic - Что нужно знать для создания сайта ?

webinformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

webinformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

webinformatic - Что нужно знать для создания сайта ? Содержание

webinformatic - Что нужно знать для создания сайта ? css - стили

webinformatic - preg_match или Использование регулярных выражений в php

webinformatic - статьи Тимонина Андрея - Flash. Содержание

webinformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

webinformatic - статья Тимонина Андрея - Flash. Hello world.

webinformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

webinformatic - Тимонин Андрей - Несколько слов о себе

webinformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

webinformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

webinformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

webinformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

webinformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

webinformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

webinformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

webinformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

webinformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

webinformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

webinformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

webinformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

webinformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

webinformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

 

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

 
     
  Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка  
     
 

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

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

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

 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основы программирования на 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;
}

//загрузка таблицы клавиатурных сокращений (горячих клавиш) для быстрого доступа к меню и т.п.

hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HELLOWORLD_WIN32));

// 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  
     
   
     
  Сохраняем изменения в проект  
     
  Аналогичным образом добавляются ресурсы всех остальных типов, с некоторыми особенностями, специфичными для каждого конкретного типа ресурсов.  
     
  в следующем уроке мы рассмотрим создание меню и диалоговых окон  
     
  [назад] [далее] [к содержанию]  
 
Время загрузки: 0,4364