Каждый элемент управления, помещенный на диалоговую панель имеет идентификатор. Посмотреть его можно через свойства элемента управления.
Идентификатор начинается с приставки IDC_. Это для того, чтобы различать идентификаторы. Допустимые значения - 8 - 0xDFFF. VC++ автоматически присваивает значения и прописывает идентификаторы в файле resource.h.
#define IDC_BUTTON1 1003 #define IDC_EDIT1 1004 #define IDC_PROGRESS1 1005
Делает он это по порядку. Хотя порядок в результате всяких манипуляций может сбиться. Вы сами можете попробовать. Удалите описание IDC_EDIT1. И добавьте еще элементов. Вам кстати никто не мешает самому расставить необходимые цифровые значения по порядку. Это может быть очень полезно кстати. Но тут есть один интересный эффект. Вот есть описание ресурсов:
#define IDC_BUTTON1 1003 #define IDC_PROGRESS1 1004 #define IDC_EDIT2 1005 #define IDC_LIST1 1007 #define ID_TEST_TEST 32771
Расставляем по порядку:
#define IDC_PROGRESS1 1004 #define IDC_EDIT2 1005 #define IDC_LIST1 1006
Добавляем еще один:
#define IDC_EDIT2 1005 #define IDC_LIST1 1006 #define IDC_SCROLLBAR1 1008
Смотрите, добавлен не 7, а 8. То есть в VC++ где-то хранится число, относительно которого отсчитывается новый идентификатор. И данное число даже ни где-то храниться, а прямо в описании ресурсов. Под именем _APS_NEXT_CONTROL_VALUE. В самом низу файла resource.h:
// Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 131 #define _APS_NEXT_COMMAND_VALUE 32772 #define _APS_NEXT_CONTROL_VALUE 1012 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif