[Главная]
|
[Новости] |
[Статьи] |
[Проекты] |
[Автор] |
||
[Базовые уроки по DirectX] [Основы DirectMusic на Delphi] [Основы DirectInput8 на Delphi] [Основы DirectSound8 на Delphi] | ||||||
[Разработка компьютерной игры] [Пример игры Donuts3D] | ||||||
Что нужно знать для создания DirectX-приложений на C++ в среде Microsoft Visual Studio 2008 Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон. |
||||||
Данный урок является введением в программирование на C++ в MSVS 2008 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал), и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008. |
||||||
[назад] [далее] [к содержанию] | ||||||
Мы рассматриваем основы программирования на C++ в среде программирования MSVS 2008 | ||||||
В данном уроке мы рассмотрим как создается меню и простейшие окна диалогов. | ||||||
Меню Win32-приложения создается как ресурс. Его создание похоже на создание меню в delphi 7. | ||||||
Для создания меню открываем окно ресурсов Resource View, щелкаем правой кнопкой по пункту Resource.rc и выбираем Add Resource, в окне выбора нового ресурса задаем требуемый тип (в нашем случае Menu) и нажимаем кнопку New |
||||||
будет создано окно с ресурсом меню, открытым для редактирования. По аналогии с созданием меню в delphi 7 нужно давать пунктам меню нужные идентификаторы в окне Properties и названия (свойство Caption) | ||||||
Название идентификатора ресурса меню можно изменить щелкнув по ресурсу в окне ресурсов и вызвав окно Properties щелчком по вкладке Properties в правой части окна Visual Studio | ||||||
Для обработки команд меню в код необходимо внести дополнения Внутри функции WndProc показан пример обработки пунктов меню About и Exit. По аналогии с этим нужно добавить обработку других пунктов меню. |
||||||
Работа с меню Win32-приложения описана в разделе MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Management > Windows User Interface > Resources > Menus | ||||||
Обработка нажатий на пункты меню Hints и Show FPS в методе WndProc нажатия обрабатываются следующим образом - case IDM_OPTIONS_HINT: { bShowHelpText = !bShowHelpText;
if (bShowHelpText)
break; case IDM_OPTIONS_SHOWFPS: { m_bShowFPSOn = !m_bShowFPSOn;
if (m_bShowFPSOn)
break; Дополнительно была введена функция InitD3DStuff, но пока ее назначение состоит лишь в - void
InitD3DStuff() |
||||||
Сама функция вызывается из InitInstance В дальнейшем переменные m_bShowFPSOn и bShowHelpText перейдут в поля класса D3D-приложения |
||||||
Для создания окна приложения с запрещенной кнопкой максимизации окна и неизменными размерами в коде функции InitInstance были внесены следующие изменения - /*hWnd
= CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
hWnd = CreateWindow(szWindowClass, szTitle, |
||||||
Разработка окна диалога для управления уровнем сложности Работа с элементами управления Windows в приложениях Win32 описана в разделе справки - MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Shell > Windows Controls > Control Library |
||||||
Создание диалоговых окон приложения Win32 похоже на создание форм в Delphi 7. Однако не для всех элементов управления дело обстоит просто. Существует целая группа элементов управления добавление которых не автоматизировано в коде. Например, если использовать для настройки уровня сложности ползунок Slider Control (TRACKBAR_CLASS), то для инициализации диалога с его использованием требуется вызов функции InitCommonControlsEx. Создание самого элемента управления нужно выполнять в коде приложения. Поэтому если Вы добавили в свое приложение какой-то диалог и обнаружили, что он не работает, значит всё ясно - он содержит элемент управления для которого необходим дополнительный код. Работа с элементами управления окон описана в разделе MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Shell > Windows Controls > General Control Information |
||||||
Чтобы не озадачивать себя на первых порах излишними сложностями попробуйте заменить нужный элемент управления каким-либо другим, не требующим введения кода. Например вместо ползунка Slider для задания уровня сложности можно вполне обойтись обычными RadioButtons и они прекрасно справляются с этой задачей. | ||||||
Для использования окна диалога, вызываемого в ответ на выбор какого-либо пункта меню достаточно посмотреть код диалогового окна About автоматически создаваемый при создании оконного Win32-приложения и отталкиваясь от него создать свой собственный для нужного пункта меню и диалога. | ||||||
в
следующем уроке - общие окна диалога, некоторые сопутствующие конструкции
языка C++ |
||||||
[назад] [далее] [к содержанию] | ||||||
Обновления
и новости о развитии Delphi DirectX проекта http://www.megainformaticsite.pochta.ru |
||||||
[Главная]
|
[Новости] |
[Статьи] |
[Проекты] |
[Автор] |
(c) Мега Информатик 2006-2009 | ||||||