Имена, используемые MFC
Имена, используемые MFC
Библиотека классов содержит огромное количество классов, структур, констант и т. д. Чтобы сделать исходный текст приложений MFC более легким для понимания, принято использовать ряд соглашений для используемых имен и комментариев.
Названия всех классов и шаблонов классов библиотеки MFC начинаются с заглавной буквы C. Например, CWnd, CMenu, CArray – это классы. Когда вы наследуете собственные классы от классов MFC, вы можете давать им любые имена. Рекомендуется называть их как и классы MFC с заглавной буквы C. Это сделает исходный текст приложения более ясным для понимания.
Чтобы отличать элементы данных, входящие в класс, от простых переменных, их имена принято начинать с префикса m_. Названия методов классов, как правило специально не выделяются, но их обычно пишут с заглавной буквы.
Библиотека MFC включает помимо классов, набор служебных функций. Названия этих функций начинаются с символов Afx, например AfxGetApp, AfxGetAppName, AfxGetMainWnd. Символы AFX являются сокращением от словосочетания Application FrameworkX, означающего основу приложения, его внутреннее устройство.
Символы AFX встречаются не только в названии функций MFC. Многие константы, макрокоманды и другие символы начинаются с этих символов. В общем случае Afx является признаком, по которому вы можете определить принадлежность того или иного объекта (функции, переменной, ключевого слова или символа) к библиотеке MFC.
В процессе создания приложения MFC AppWizard и ClassWizard могут определять идентификаторы ресурсов, идентификаторы для справочной системы и т. д. При этом, для идентификаторов различного типа используются разные префиксы:
Префикс Представляет идентификаторы HID_ Контекстной подсказки для команд HIDD_ Контекстной подсказки для диалоговых панелей ID_ Строк меню и кнопок панелей управления IDB_ Растровых изображений bitmap IDC_ Курсоров IDC_ Органов управления диалоговых панелей IDD_ Шаблонов диалоговых панелей IDI_ Пиктограмм IDP_ Строковых ресурсов, используемые в диалоговых панелях message box для отображения приглашения IDR_ Приложение может иметь несколько ресурсов различного типа с одинаковыми идентификаторами. Для таких идентификаторов используют префикс IDR_ IDS_ Строковых ресурсов IDOK, IDCANCEL Стандартные идентификаторы для кнопок OK и Cancel диалоговых панелейКогда приложение разрабатывается средствами MFC AppWizard и ClassWizard, они размещают в исходном тексте приложения комментарии следующего вида:
//{{AFX_
…
//}}AFX_
Такие комментарии образуют блок кода программы, который управляется только средствами MFC AppWizard и ClassWizard. Пользователь не должен вручную вносить изменения в этом блоке. Для этого необходимо использовать средства ClassWizard.
Чтобы подчеркнуть особое положение программного кода, заключенного в комментарии //{{AFX_, он отображается серым цветом. Это еще раз напоминает пользователю, о том, что он не должен вручную вносить изменения в этот код. В следующей таблице представлено краткое описание некоторых блоков //{{AFX_.
Блок Включает //{{AFX_DATA //}}AFX_DATA Объявление элементов данных класса. Используется в описании классов диалоговых панелей //{{AFX_DATA_INIT //}}AFX_DATA_INIT Инициализация элементов данных класса. Используется в файле реализации классов диалоговых панелей //{{AFX_DATA_MAP //}}AFX_DATA_MAP Макрокоманды DDX, предназначенные для связывания элементов данных класса и органов управления диалоговых панелей. Используется в файле реализации классов диалоговых панелей //{{AFX_MSG //}}AFX_MSG Описание методов, которые предназначены для обработки сообщений. Этот блок используется при описании класса //{{AFX_MSG_MAP //}}AFX_MSG_MAP Макрокоманды таблицы сообщений класса. Используются совместно с AFX_MSG //{{AFX_VIRTUAL //}}AFX_VIRTUAL Описание переопределенных виртуальных методов класса. Блок AFX_VIRTUAL используется при описании классаМы перечислили далеко не все блоки //{{AFX_. Существует еще целый ряд блоков, относящихся к реализации технологии OLE и использованию баз данных.
Когда вы будете изучать описание классов приложения, созданных средствами MFC AppWizard и ClassWizard, вы заметите ряд комментариев, разделяющих элементы класса на несколько категорий. Описание этих комментариев мы привели в следующей таблице.
Комментарий После комментария размещаются // Constructors Конструкторы класса и методы, используемые для инициализации объектов класса. Как правило, элементы класса размещенные в этой секции определены с ключевым словом public // Attributes Элементы данных класса, и методы для доступа к ним (свойства класса). Как правило, элементы класса размещенные в этой секции определены с ключевым словом public // Operations Виртуальные и невиртуальные методы, используемые для выполнения операций над объектами класса. Как правило элементы класса размещенные в этой секции определены с ключевым словом public // Overridables Здесь расположены виртуальные методы, которые вы можете переопределить в порожденных классах. Как правило, элементы класса размещенные в этой секции определены с ключевым словом protected. В большинстве случаев, названия виртуальных методов класса начинается с символов On // Implementation Методы и элементы данных, относящиеся к внутреннему устройству класса – реализации класса. Как правило, элементы класса размещенные в этой секции определены с ключевым словом protected или private // Dialog Data Элементы данных, класса диалоговой панели, связанные с органами управленияДля некоторых классов, используются и другие комментарии, например, // Advanced Overridables и т. д.
MFC AppWizard и ClassWizard помогают вам разрабатывать приложение. Они создают все классы и методы, необходимые для его работы. Вам остается дописать к ним свой код. В тех местах, где вы можете вставить этот код, MFC AppWizard и ClassWizard, как правило, помещают комментарий // TODO:.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Совместно используемые обработчики
Совместно используемые обработчики Совместно используемые (shared) обработчики выполняются практически так же, как и не совместно используемые. Существует, однако, три главных отличия.• Флаг SA_SHIRQ должен быть установлен в параметре flags при вызове функции
Используемые соглашения
Используемые соглашения Примите во внимание ряд используемых в книге соглашений.Самое важное правило: когда я добавляю новый раздел кода, я помечаю обсуждаемые строки кода полужирным шрифтом:<xsl:template match="PLANET"> <xsl:value-of select="NAME"/> <xsl:if test="position()!=last()">, </xsl:if> <xsl:if
8.2. Совместно используемые библиотеки
8.2. Совместно используемые библиотеки Совместно используемые, или разделяемые, библиотеки обладают рядом преимуществ по сравнению со статическими библиотеками.• Linux разделяет используемую для кода исполняемого файла память между всеми процессами, которые совместно
Используемые протоколы
Используемые протоколы Для работы с электронной почтой существует ряд протоколов.– SMTP – протокол передачи электронной почты, обеспечивающий передачу сообщений между произвольными узлами сети. Его работа не зависит от транспортной среды, то есть он может быть
Папки, используемые Asterisk
Папки, используемые Asterisk Asterisk использует несколько папок в системе Linux для организации различных аспектов системы, таких как запись сообщений голосовой почты, голосовые сообщения и конфигурационные файлы. В данном разделе обсуждаются необходимые папки. Все они
1.3. Термины, используемые в данном документе
1.3. Термины, используемые в данном документе Этот документ содержит несколько терминов, которые следует пояснить прежде, чем вы столкнетесь с ними.DNAT – от англ. Destination Network Address Translation – Изменение Сетевого Адреса Получателя. DNAT – это изменение адреса назначения в заголовке
Методы, используемые спамерами
Методы, используемые спамерами Для обычного пользователя электронная почта начинается с почтового клиента, в котором он набирает письмо и отправляет его, нажав соответствующую кнопку. Все остальное – процесс формирования правильного заголовка, отправка и получения –
8. Используемые символы языка СИ
8. Используемые символы языка СИ Практически все символы, которые применяются в языке СИ, можно разделить на пять групп:1. Символы, которые применяются для образования ключевых слов и идентификаторов. К ним относят прописные и строчные буквы английского алфавита и символ
Операторы, используемые в предложении WHERE
Операторы, используемые в предложении WHERE При построении предложения WHERE можно использовать операторы, перечисленные в табл. 2.1.Таблица 2.1. операторы, используемые в предложении WHERE Оператор Функция < Меньше <= Меньше или равно > Больше >= Больше или равно =
Пиктограммы, используемые в данной книге
Пиктограммы, используемые в данной книге Вы, наверное, видели уже немало книг, на полях которых встречаются пиктограммы, призванные помочь быстро найти самую важную информацию. Для этой книги изо всех пиктограмм я выбрал только четыре, чтобы не создавать внутри книги
2.3.2. Совместно используемые библиотеки
2.3.2. Совместно используемые библиотеки Совместно используемая библиотека (известная также как динамически подключаемая библиотека) напоминает архив тем, что она представляет собой группу объектных файлов. Но между ними есть ряд важных различий. Самое основное из них
1.2. Типы данных, используемые в реестре
1.2. Типы данных, используемые в реестре Рассмотрим наиболее часто используемые в реестре Windows Vista типы данных.• REG_BINARY – двоичные данные. Этот тип данных используется, например, для хранения сведений об аппаратных ресурсах; сведения выводятся в Редакторе реестра в