В 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