Поделиться через


TN020. Соглашения именования и нумерации идентификаторов

Эта заметка описывает именование идентификатор и соглашения, оцифровки MFC 2.0 используется для ресурсов, команд, строк, элементы управления и дочерних окон.

Именование идентификатор MFC и соглашения оцифровки должны удовлетворять следующим требованиям:

  • Предоставление согласованного этой стандарт именования, используемый в библиотеку MFC и приложения MFC, поддерживаются редакторами ресурсов Visual C++. Это упрощает для программиста интерпретация тип и вертикали ресурсов на основе идентификатора.

  • Указаны сильную наличии сопоставления одного связь между некоторыми типами идентификаторов.

  • Совпадение с уже широко используемым стандартам именования для идентификаторов в Windows.

  • Разделите пробел в этой оцифровки. Идентификаторы могут быть присвоены программистом, MFC, Windows и визуально ресурсами C ++-edited. Необходимое разделение помогает избежать дублирования идентификатора.

Соглашение об именовании префикса идентификатор

Несколько типов идентификаторов могут возникнуть в приложении. Соглашение именования этой MFC определяет различные префиксы для различных типов ресурсов.

MFC использует префикс «IDR_» для указания идентификатора ресурса, которое применяется для нескольких типов ресурсов. Например, для заданного фреймового окна, MFC использует этот префикс «IDR_» для обозначения ресурс меню, сочетания клавиш, строки и Значка. В следующей таблице показаны различные префиксы и их потребление:

Префикс

Применение

IDR_

Для нескольких типов ресурсов (главное меню, используемых для сочетаний клавиш и лент).

IDD_

Для ресурсов шаблона диалогового окна (например, IDD_DIALOG1).

IDC_

Для ресурсов курсора.

IDI_

Для ресурса Значка.

IDB_

Для ресурсов растрового изображения.

IDS_

Для строковых ресурсов.

В ресурс диалогового окна MFC, применяются следующие правила:

Префикс или метка

Применение

IDOK, IDCANCEL

Для обычных идентификаторов кнопки.

IDC_

Для других элементов управления диалогового окна.

Префикс «IDC_» также используется для курсоров. Этот конфликт имен не является проблемой, поскольку типичное приложение будет содержать несколько курсоры и множество элементов управления диалогового окна.

В ресурс меню MFC, применяются следующие правила:

Префикс

Применение

IDM_

Для пунктов меню, которые не используют архитектуру команды MFC.

ID_

Для команд меню, которые используют архитектуру команды MFC.

Команды, которые следуют архитектура команды MFC должен иметь обработчик команды ON_COMMAND и могут иметь обработчик ON_UPDATE_COMMAND_UI. Если эти обработчиков команд используется архитектура команды MFC, они будут функция правильно ли они прыгнуть команду меню, кнопки панели инструментов, или кнопку диалоговой панели. Этот префикс «ID_» также используется для запроса строки меню, которая отображается на панели сообщений программы. Большинство пунктов меню в приложении должна следовать соглашениям команды MFC. Все стандартных идентификаторов команд (например, ID_FILE_NEW) используется это соглашение.

MFC также использует «IDP_» как специализированная форма строк (вместо «IDS_»). Строки с префиксом «IDP_» запросы, то есть строки, используемые в окнах. Строки «IDP_» могут содержать «%1 " и «%2 " в качестве местозаполнителей строк заданных программой. Строки «IDP_» обычно есть разделы справки, связанные с ними и строки «IDS_» нет. Строки «IDP_» всегда локализуются и строки «IDS_» не могут быть локализованы.

Библиотека MFC также используется префикс «IDW_» как специализированная форма идентификатора элемента управления (вместо «IDC_»). Эти идентификаторы присвоенные дочерним окон, таких как представления и разделители классами платформы. Идентификатор реализации MFC присоединены буква «AFX_».

Соглашение этой оцифровки

В следующей таблице перечислены допустимые диапазоны идентификаторов для определенных типов. Некоторые ограничения технические ограничения реализации и другие соглашения, предназначенных для предотвращения выполнения идентификаторы из вступать в противоречия с идентификаторы или реализациями по умолчанию MFC предопределенными Windows.

Мы настоятельно рекомендуется задать все идентификаторы в три диапазонов. Нижний предел этих диапазонов 1, поскольку 0 не используется. Рекомендуется использовать общие соглашения и использовать 100 или 101 в качестве первого идентификатор.

Префикс

Тип ресурса

Допустимый диапазон

IDR_

несколько

1 0x6FFF сквозное

IDD_

шаблонов диалоговых окон

1 0x6FFF сквозное

IDC_, IDI_, IDB_

курсоры, Значки, растровые изображения

1 0x6FFF сквозное

IDS_, IDP_

общих строк

1 0x7FFF сквозное

ID_

команды

0x8000 через 0xDFFF

IDC_

Элементы управления

8 0xDFFF сквозных

Причины для этих диапазоне ограничения:

  • По соглашению значение идентификатора 0 не используется.

  • Ограничения реализации Windows ограничивают истинные идентификатора ресурса, чтобы быть меньше или приравнивают в 0x7FFF.

  • Внутренняя платформы MFC резервирует эти диапазоны.

    • 0x7000 через 0x7FFF (см. afxres.h)

    • 0xE000 через 0xEFFF (см. afxres.h)

    • 16000 до 18000 (см. afxribbonres.h)

    Эти диапазоны может измениться в будущих реализациях MFC.

  • Несколько команд системы Windows используется диапазон 0xF000 через 0xFFFF.

  • Идентификатор элемента управления 1 до 7 зарезервированы для стандартных элементов управления, таких как IDOK и IDCANCEL.

  • Диапазон 0x8000 через 0xFFFF для строк зарезервировано для запросов меню команд.

См. также

Другие ресурсы

Технические примечания по номеру

Технические примечания по категории