Составной частью проекта, работа которого планируется в Windows, является файл определения ресурсов. Возникает вопрос: что же такое ресурсы, когда и в каких целях они используются?
У Windows есть некоторые предопределенные данные (предопределенные курсоры, иконки и кисти).
Точно так же, почти в каждой программе для Windows есть некоторые данные, которые определяются
еще до начала работы программы, особым образом добавляются в выполняемый файл и используются
при работе программы. Яркими примерами таких данных являются иконки и курсоры мыши. Кроме
них, к числу ресурсов относятся:
- используемые в программе изображения;
- строки символов;
- меню;
- ускорители клавиатуры;
- диалоговые окна;
- шрифты;
- ресурсы, определяемые пользователем;
Следует отметить, что выполняемым файлом может быть файл программы .exe, файл динамической библиотеки .dll и другие бинарные файлы. Для удобства буду их называть bin-файлами.
Помимо того, что ресурсы определяются до начала работы программы и добавляются в bin-файл, у них есть еще одна характерная черта. При загрузке bin-файла в память, РЕСУРСЫ В ПАМЯТЬ НЕ ЗАГРУЖАЮТСЯ. Только в случае, если тот или иной ресурс требуется для работы программы, программа сама загружает ресурс в память.
Возможность использования того или иного атрибута в качестве ресурса не означает, что программист не может создавать эти атрибуты в программе. Яркий пример тому можно найти в работе старого доброго Program Manager'а. При перетаскивании иконки с место на место курсор меняет свою форму и принимает форму, подобную перетаскиваемой иконке. Естественно, что в этом случае курсоры определяются программой. Помимо этого, вспомним drag-and-drop в Explorer'е и изменение формы курсора при этом.
Еще одним примером являются динамические меню, т.е. меню, которые изменяют свой вид и предоставляемые возможности в зависимости от обстоятельств.