Читаем Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT полностью

 #ifndef APSTUDIO_READONLY_SYMBOLS

  #define _APS_NEXT_RESOURCE_VALUE 102

  #define _APS_NEXT_COMMAND_VALUE  40003

  #define _APS_NEXT_CONTROL_VALUE  1000

  #define _APS_NEXT_SYMED_VALUE    101

 #endif

#endif

В листинге 2.9 мы привели файл ресурсов MFMenuRes.rc приложения. Этот файл был подготовлен редактором ресурсов Visual C++. Одна из первых строк файла содержит директиву #include которой подключается файл MFMenuRes.h, содержащий описание идентификаторов ресурсов (листинг 2.8).

Среди прочих служебных строк, необходимых редактору ресурсов и компилятору Visual C++, вы можете обнаружить описание меню приложения IDR_MENU. Для первого приложения, использующего ресурсы мы привели файл ресурсов полностью. Впоследствии мы ограничимся словесным описанием ресурсов и будем приводить только выдержки из файла ресурсов.

Листинг 2.9. Файл MFMenuRes.rc

// Файл описания ресурсов приложения, созданный

// Microsoft Developer Studio

#include "MFMenuRes.h"

#define APSTUDIO_READONLY_SYMBOLS

//////////////////////////////////////////////////////////////

// Включаем файл afxres.h, содержащий определения стандартных

// идентификаторов

#include "afxres.h"

//////////////////////////////////////////////////////////////

#undef APSTUDIO_READONLY_SYMBOLS

//////////////////////////////////////////////////////////////

// Руссификацированные ресурсы

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)

 #ifdef _WIN32

  LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

 #pragma code_page(1251)

 #endif //_WIN32

 ////////////////////////////////////////////////////////////

 // Меню

 //

 IDR_MENU MENU DISCARDABLE

 BEGIN

  POPUP "Test"

  BEGIN

   MENUITEM "Beep", ID_TEST_BEEP

   MENUITEM SEPARATOR

   MENUITEM "Exit", ID_TEST_EXIT

  END

 END

 #ifdef APSTUDIO_INVOKED

  ////////////////////////////////////////////////////////

  // Ресурсы TEXTINCLUDE

  //

  1 TEXTINCLUDE DISCARDABLE

  BEGIN

   "MFMenuRes.h\0"

  END

  2 TEXTINCLUDE DISCARDABLE

  BEGIN

   "#include ""afxres.h""\r\n"

   "\0"

  END

  3 TEXTINCLUDE DISCARDABLE

  BEGIN

   "\r\n"

   "\0"

  END

 #endif // APSTUDIO_INVOKED

#endif // Руссификацированные ресурсы

//////////////////////////////////////////////////////////////

#ifndef APSTUDIO_INVOKED

#endif

Когда вы создадите ресурсы приложения и включите файл ресурсов в проект обратите внимание на окно Project Workspace. В нем появится еще одна, четвертая страница ResourceView (рис. 2.24). Эта страница показывает все ресурсы, входящие в проект. В приложении MFMenu определен только один ресурс – меню, имеющее идентификатор IDR_MENU.

Вы можете быстро перейти к редактированию меню, если выберите его идентификатор и щелкните два раза левой кнопкой мыши.

Рис. 2.24. Страница ResourceView окна Project Workspace

Теперь проект готов. Вы можете построить его и запустить полученное приложение MFMenu. Внешний вид приложения представлен на рисунке 2.25. Как видите окно приложения имеет меню Test, состоящее из двух строк – Beep и Exit.

Если вы выберите строку Beep из меню Test, то услышите на внутреннем динамике компьютера звуковой сигнал. В случае если звуковой сигнал не слышен, проверьте подключен ли внутренний динамик, а если в компьютере установлена звуковая плата, правильно установите громкость сигнала.

Когда вы завершите работу с приложением, его можно закрыть. Для этого воспользуйтесь системным меню приложения или выберите из меню Test строку Exit.

Рис. 2.25. Приложение MFMenu

Чтобы объекты класса могли обрабатывать сообщения, в определении этого класса необходимо поместить макрокоманду DECLARE_MESSAGE_MAP. По принятым соглашениям эта макрокоманда должна записываться в конце определения класса в секции public.

Перейти на страницу:

Все книги серии Библиотека системного программиста

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных