В MFC используется венгерская нотация. То есть правила написания имен переменных. Смысл этих правил в том, чтобы по имени переменной можно было определить ее тип. Например, chName - 8 битная строка. Почему называется она венгерской ??? Существует такая история, что был в Microsoft такой программист из венгрии по имени Чарльз Симони, программировал он на С++ . Его код смотрелся очень необычно. Когда его спрашивали на чем это написано тот отвечал на венгерском. Говорят по этому поводу им была написана диссертация.
Главные соглашения MFC.
Префикс тип пример
С класс или структура CPoint,CPrintInfo
m_ переменная член класса m_pDoc
Итак, все объявления классов и структур начинаются с С, а если переменная является членом класса, то с m_. Дальше таблица соответствий префиксов типам:
Префикс Тип Пример
ch char chGrade
ch TCHAR chName
b BOOL bEnabled
n int nLength
n UINT nLength
w WORD wPos
l LONG lOffset
dw DWORD dwRange
p * pDoc
lp FAR* lpDoc
lpsz LPSTR lpszName
lpsz LPCSTR lpszName
lpsz LPCTSTR lpszName
h handle hWnd
lpfn callback lpfnAbort
Так же рекомендованы префикс для идинтификаторов и выделены соответствующие диапазоны:
Префикс Тип Пример Диапазон
IDR_ Идентификатор ресурса нескольких типов IDR_MAINFRAME 1 to 0x6FFF
IDD_ Диалоговый ресурс IDD_SPELL_CHECK 1 to 0x6FFF
HIDD_ Диалоговый ресурс для помощи HIDD_SPELL_CHECK 0x20001 to 0x26FF
IDB_ Изображение IDB_COMPANY_LOGO 1 to 0x6FFF
IDC_ Курсор IDC_PENCIL 1 to 0x6FFF
IDI_ Икона IDI_NOTEPAD 1 to 0x6FFF
ID_ _ Команда меню или панели инструментов ID_TOOLS_SPELLING 0x8000 to 0xDFFF
HID_ Команда помощи HID_TOOLS_SPELLING 0x18000 to 0x1DFFF
IDP_ Окно сообщения строка IDP_INVALID_PARTNO 8 to 0xDFFF
HIDP_ Окно сообщения помошь HIDP_INVALID_PARTNO 0x30008 to 0x3DFFF
IDS_ Элемент управления на диалоговом окне IDS_COPYRIGHT 1 to 0x7FFF
IDC_ Control within dialog box IDC_RECALC 8 to 0xDFFF
Давайте разберем несколько примеров:
hwndMain
h дискриптор
wnd окна
Main имя Main
lpsztext
lp дальний указатель
sz на строку
Text имя Text