Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Borland C++ 3.0

           Глава 2. Основы работы с Пакетом разработчика ресурсов
       -----------------------------------------------------------------

            В данной главе дается обзор Пакета разработчика  ресурсов  и
       ресурсов Windows. Она начинается с обсуждения того, что такое ре-
       сурсы, и что представляет собой каждый тип ресурсов.  Она охваты-
       вает также использование файлов ресурсов различных типов в Пакете
       разработчика ресурсов,  и как эти файлы собираются вместе в  про-
       ект. В конце данной главы можно найти некоторые замечания о нача-
       ле работы с Пакетом разработчика ресурсов.
                         Понятие ресурсов в Windows
       -----------------------------------------------------------------

            Ресурсы -  это данные,  определяющие некоторые видимые части
       вашей программы Windows. Например, когда вы открываете диалоговое
       окно  и наживаете кнопку "мыши" для выполнения задачи,  в которую
       входит программа, вы взаимодействуете с ресурсами программы. Кро-
       ме  диалоговых блоков (окон) и программных "кнопок",  другие типы
       ресурсов,  которые вы можете использовать в программе, включают в
       себя пиктограммы, курсоры, битовые изображения, меню и клавиатур-
       ные акселераторы (оперативные клавиши).

            В прикладных программах Windows ресурсы обеспечивают  содер-
       жательный и   согласованный   интерфейс   с   пользователем,  что
       облегчает пользователю переход от одной программы Windows к  дру-
       гой.

            Далее приведен  пример  ресурса  - диалоговое окно,  которое
       позволяет пользователю осуществить некоторый выбор:

            Описание специфических  возможностей  каждого  из  редакторов
       ресурсов, входящих в состав Пакета разработчика ресурсов, вы може-
       те найти в главах 4-9.  Данная глава содержит обзор ресурсов и ти-
       пов файлов, с которыми может работать Пакет разработчика ресурсов.
       Здесь  же  объясняется как использовать указанные файлы в процессе
       построения ресурсов для прикладных программ Windows.


                        Что такое ресурсы
       -----------------------------------------------------------------

            Можно считать,  что ресурс - это файл с данными,  который до-
       писывается  в конец исполняемого файла прикладной программы.  Если
       ресурс определен корректно, то соответствующие ресурсу данные мож-
       но изменять не затрагивая кодов прикладной программы.

            Прикладные программы  Windows  включают в свой состав опреде-
       ленное количество графических  элементов.  В  частности  некоторая
       прикладная  программа  может изменять форму графического курсора в
       зависимости от режима работы и использовать для этой  цели  десять
       различных изображений. Вместо того, чтобы включать данные, опреде-
       ляющие форму курсора непосредственно в исходный  текст  программы,
       их  можно выделить в отдельный блок и хранить как ресурс,  который
       будет загружаться в память  по  мере  необходимости.  Преимущества
       последнего подхода включают в себя:

       ----T-----------------------------------------------------------¬
       ¦ - ¦-----------------------Options-----------------------------¦
       +---+-----------------------------------------------------------+
       ¦                                                               ¦
       ¦  --Shape--------¬  --Colors------------------------------¬    ¦
       ¦  ¦              ¦  ¦ --¬              --¬                ¦    ¦
       ¦  ¦  O Square    ¦  ¦ ¦X¦ Blue         ¦ ¦ Red            ¦    ¦
       ¦  ¦              ¦  ¦ L-- ----         L--                ¦    ¦
       ¦  ¦  0 Circle    ¦  ¦ --¬              --¬                ¦    ¦
       ¦  ¦              ¦  ¦ ¦X¦ Yellow       ¦ ¦ White          ¦    ¦
       ¦  ¦  O Triangle  ¦  ¦ L--              L--                ¦    ¦
       ¦  ¦              ¦  L--------------------------------------    ¦
       ¦  L---------------                                             ¦
       ¦                                                               ¦
       ¦  ----OK-----            --Cancel---            ---Help----    ¦
       ¦                                                               ¦
       L----------------------------------------------------------------

            Рис. 2.1 Типичное диалоговое окно

            Все диалоговое  окно и все управляющие элементы в нем (вклю-
       чая командные кнопки,  кнопки с независимой фиксацией (блоки про-
       верки) и  т.  д.  определяются в прикладной программе Windows как
       ресурсы.

            В общем случае ресурсы прикладной программы Windows  отделя-
       ются от  кода  программы,  что позволяет вам вносить существенные
       изменения в интерфейс с пользователем без необходимости открывать
       файл, содержащий код программы.

            Предположим, например,  что  вы  работаете  с  бухгалтерской
       прикладной программой Windows.  Вы можете записать исходный  код,
       реализующий алгоритм вашей прикладной программы, в отдельной фай-
       ле, и даже выполнить его компиляцию отдельной от  ресурсов  прог-
       раммы. Чтобы изменить вывод программы, вы (или кто-то другой, от-
       ветственный за интерфейс с пользователем)  можете  модифицировать
       эти ресурсы и создать новые,  не беспокоясь о их влиянии на соот-
       ветствующие бухгалтерские алгоритмы.

            Кроме того, поскольку различные прикладные программы исполь-
       зуют один и тот же набор ресурсов,  вам не потребуется изобретать
       заново диалоговые окна, пиктограммы и специальные курсоры. Вместо
       этого вы каждый раз можете использовать их повторно.



                                Типы ресурсов
       -----------------------------------------------------------------

            Пакет разработчика ресурсов поддерживает  следующие  ресурсы
       Windows.

                               Диалоговые окна
       -----------------------------------------------------------------

            Диалоговое окно - это окно (обычно всплывающее) которое  вы-
       водит информацию пользователю и позволяет ему сделать выбор (нап-
       ример, выбрать файлы для открытия, цвета дисплея, текст для поис-
       ка и т. д.).

                 Примечание: О диалоговых окнах редактирования рассказы-
            вается в Главе 4.

            Диалоговое окно обычно включает в себя  элементы управления,
       такие как  кнопки  с  зависимой  фиксацией  (селективные кнопки),
       кнопки с независимой фиксацией (параметры), командные кнопки и т.
       д. Пакет  разработчика  ресурсов облегчает помещение в диалоговое
       окно любой комбинации управляющих элементов.  Кроме  того,  Пакет
       разработчика ресурсов  позволяет  вам проверить диалоговое окно и
       отладить его поведение перед тем,  как связать его с  выполняемым
       кодом.
                                 Меню
       -----------------------------------------------------------------

            Прикладные программы Windows обычно включают в  себя  строку
       меню, в которой перечисляются элементы, выбираемые пользователем.
       В общем случае каждый элемент меню может  выводить дополнительный
       список элементов   для  выбора.  Например,  большинство  программ
       Windows включает в себя меню File (Файл), которое содержит коман-
       ды меню для создания нового файла или открытия существующего.

                    --------------------------¬
                    ¦--New--------------------¦  Новый файл
                    ¦  Open...                ¦  Открыть
                    ¦  Save                   ¦  Сохранить
                    ¦  Save as...             ¦  Сохранить как...
                    +-------------------------+
                    ¦  Print...               ¦  Печать
                    ¦  Page Setup...          ¦  Установка страницы
                    ¦  Printer Setup...       ¦  Установка принтера
                    +-------------------------+
                    ¦ Exit                    ¦  Выход
                    L--------------------------

            Рис. 2.2 Типичное файловое меню

            Пакет разработчика ресурсов облегчает создание  меню, выводя
       его по мере создания на экран.  Добавляя или модифицируя элементы
       меню, вы можете проверить его. Кроме того, Пакет разработчика ре-
       сурсов выводит на экран представляющий меню текст, как если бы вы
       использовали для создания меню редактор меню.
                                Акселераторы
       -----------------------------------------------------------------

            Акселераторы -  это клавиатурные комбинации (или оперативные
       клавиши), которые пользователь нажимает  для  выполнения  задачи,
       как прикладной программы. Например, программа Windows может вклю-
       чить акселератор  ShiftIns,  которые  пользователь  нажимает  для
       вставки текста  или графических изображений из буфера вырезанного
       изображения в открытый программой файла.

                    --------------------------¬
                    ¦  Undo     Alt+Backspace ¦  Отмена
                    +-------------------------+
                    ¦  Cut          Shift+Del ¦  Забрать
                    ¦  Copy         Shift+Ins ¦  Скопировать
                    ¦--Paste----------Cut+Ins-¦  Вставить
                    +-------------------------+
                    ¦  Clear                  ¦  Очистка
                    ¦  Delete                 ¦  Удаление
                    L--------------------------

            Рис. 2.3 Меню открытия редактирования с акселераторами

            В общем случае программы Windows используют для дублирования
       функций меню  акселераторы,  позволяющие  пользователю   выбирать
       функцию с  помощью  выбора  команды меню или путем нажатия клавиш
       акселератора. Однако, вы можете создать ресурсы акселератора, оп-
       ределяющие новые функции, недоступные из меню основной программы.

            Пакет разработчика ресурсов облегчает создание новых акселе-
       раторов и редактирование существующих.  Кроме того,  пакет разра-
       ботчика  ресурсов выводит текст ресурса на экран при редактирова-
       нии акселератора, и вы можете видеть, что происходит.

                                Таблицы строк
       -----------------------------------------------------------------

            Таблицы строк содержат текст (например,  описания, подсказки
       и сообщения об ошибках),  которые выводит программа Windows. Пос-
       кольку данные   текстовые   строки   представляют  собой  ресурсы
       Windows, отдельные от программы (вместо  встроенных  в  программу
       текстовых строк), вы или другие программисты можете транслировать
       сообщения, выводимые программой,  без  необходимости  внесения  в
       исходный текст программы изменений.



                             Битовые изображения
       -----------------------------------------------------------------

            Битовый массив (битовое изображение) - это графический образ
       в программе.  Сама  система Windows использует большое количество
       битовых изображений.  Примером могут служить изображения,  предс-
       тавляющие  различные  элементы  управления типичным окном (полосы
       прокрутки,  стрелки полосы прокрутки,  управляющий символ меню  и
       символ минимизации).  Каждый бит или группа бит в битовом массиве
       представляет один элемент изображения в графическом образе.

            Пример битового изображения представлен на следующем  рисун-
       ке. Это  средство  Paintbrush (кисть) из палитры графического ре-
       дактора.

                    -----------------------------¬
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦--------------  П ----------¦
                    ¦--------------  П ----------¦
                    ¦--------------  П ----------¦
                    ¦-------------      ---------¦
                    ¦----------- П        -------¦
                    ¦----------- П        -------¦
                    ¦------------ П      --------¦
                    ¦------------- П    ---------¦
                    ¦------------- п   ----------¦
                    ¦----------- п    -----------¦
                    ¦--------       -------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    L-----------------------------

            Рис. 2.4 Битовый массив Paintbrush (увеличено)

            Создавать битовые  массивы  можно с помощью графического ре-
       дактора ресурсов,  который позволяет вам настроить цвета, выбрать
       различные изобразительные средства, наблюдая за двумя создаваемы-
       ми битовыми массивами и т.д. Этот редактор используется также для
       работы с другими графическими ресурсами - пиктограммами, курсора-
       ми и шрифтами.

                  Примечание: О  графическом  редакторе рассказывается в
             Главе 8.


                                 Пиктограммы
       -----------------------------------------------------------------

            Пиктограммы -  это  небольшие  битовые массивы (обычно 32х32
       или 16х32 элемента изображения),  используемые для  представления
       минимизированных окон. Пиктограммы можно создавать с помощью гра-
       фического редактора (описанного в Главе 8).

                  Примечание: О том, как рисовать пиктограммы, рассказы-
             вается в Главе 9.

            Чтобы увидеть   пример  пиктограммы  Windows,  активизируйте
       кнопку минимизации программы Пакета разработчика  ресурсов, чтобы
       сжать окно.  (Кнопка  минимизации  - это символ направленной вниз
       стрелки, расположенный в правой верхней части окна.) Как вы  уви-
       дите, Windows для представления минимизированного окна использует
       пиктограмму Пакета разработчика ресурсов.

            С демонстрационным файлом описания проекта  RWPDEMO.RC  пос-
       тавляется следующая пиктограмма:

                    -----------------------------¬
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    ¦----------------------------¦
                    L-----------------------------

            Рис. 2.5 Пиктограмма RWPDEMO (увеличено)


                                   Курсоры
       -----------------------------------------------------------------

            Курсор представляет собой небольшой битовый  массив размером
       32х32 элемента изображения,  представляющий позицию "мыши" на эк-
       ране. Программы Windows используют специальные курсоры для указа-
       ния того, с каким типом задачи работает в данным момент пользова-
       тель.  Вы  можете создать курсор с помощью графического редактора
       (см. Главу 8).

                  Примечание: О  графических  курсорах  рассказывается в
             Главе 10.

            Примеры специальных курсоров, которые выводятся при редакти-
       ровании графического  ресурса  (типа курсора) вы можете увидеть в
       графическом редакторе Пакета разработчика ресурсов.  Каждый  раз,
       когда вы  выбираете  новое изобразительное средство и перемещаете
       курсор к графическому образу, курсор принимает форму, представля-
       ющую текущую  функцию.  Например,  если вы активизируете в наборе
       инструментальных средств графического  редактора  изобразительное
       средство, представляющее  собой "банку с краской",  и переместите
       курсор к графическому образу,  курсор  принимает  форму  банки  с
       краской.

                  Примечание: Курсор  может быть прозрачным или инверти-
             рованным, благодаря чему сквозь него видна фоновая область.

                    -----------------------------¬
                    ¦----------------------------¦
                    ¦-----------     ------------¦
                    ¦--------   -- --   ---------¦
                    ¦------  ----- -----  -------¦
                    ¦----  ---------------  -----¦
                    ¦--- ------------------- ----¦
                    ¦-- --------------------- ---¦
                    ¦-      -------------      --¦
                    ¦-- ----------(/_/------- ---¦
                    ¦---  -------.---------  ----¦
                    ¦-----   -----+-----   ------¦
                    ¦--------   -- --   ---------¦
                    ¦-----------     ------------¦
                    ¦----------------------------¦
                    L-----------------------------

            Рис. 2.6 Пиктограмма RWPDEMO (cm. в оригинале)



                                   Шрифты
       -----------------------------------------------------------------

           Шрифты в программах Windows используются для определения гар-
       нитуры, размера и стиля текста. Например, отдельный символ, кото-
       рый программа  выводит  на  экран  или  на  принтер,  может  быть
       10-point Times Roman bold (гарнитура Times,  10 пунктов,  латинс-
       кий,  жирный). В этом случае гарнитурой будет Times Roman, разме-
       ром - 10 пунктов, а стилем - жирный (bold).

            Другим использованием ресурсов шрифтов в  программах Windows
       является запись наборов битовых массивов,  которые всегда исполь-
       зуются вместе.

            Вы можете использовать Пакет разработчика ресурсов для моди-
       фикации способа вывода существующих шрифтов или создания новых.
           Ресурсы, определенные пользователем, и ресурсные данные
       -----------------------------------------------------------------

           Ресурсы, определенные пользователем,  и ресурсные данные  (по
       существу это тоже самое,  что Пакет разработчика ресурсов) содер-
       жат любые данные,  которые вы хотите добавить к выполняемому фай-
       лу. Например,  если у вас имеется большой блок инициализированных
       данных, доступных только по чтению (например, текстовый файл), вы
       можете добавить выполняемый файл,  как ресурс, определенный поль-
       зователем.

                  Примечание: О  редактировании  ресурсов,  определенных
             пользователем, рассказывается в Главе 13.

            Одной из общих причин добавления ресурсов определенных поль-
       зователем, является то,  что это способствует управлению памятью.
       Многие прикладные программы Windows используют среднюю модель па-
       мяти, в которой используется один сегмент данных. Если у вас име-
       ется относительно большой объем данных, и вы хотите, чтобы данные
       постоянно находились в памяти,  вы можете  сохранить  данные  как
       пользовательский ресурс,  определенный  как  отбрасываемые данные
       (DISCARDABLE). При этом ресурс, определенный пользователем, будет
       занимать память только тогда, когда программа его использует.


                             Два типа редакторов
       -----------------------------------------------------------------

            Пакет разработчика ресурсов предоставляет вам мощные,  прос-
       тые в использовании ориентированные на работы с графикой редакто-
       ры, которые вы можете использовать для  проектирования  ресурсов.
       Однако Пакет разработчика ресурсов дает вам также возможность ис-
       пользовать для проектирования ресурсов  текстовый  редактор.  Эта
       возможность делает  Пакет разработчика ресурсов гибким продуктом,
       доступным работающим в Windows программистам на всех уровнях.

                  Примечание: Пакет разработчика ресурсов  позволяет вам
             также задавать внешний редактор,  используемый для редакти-
             рования файлов описания проектов, которые не нужно компили-
             ровать при открытии. Подробности см. далее.

            Например, если   вы   не  имеете  опыта  программирования  в
       Windows, то можете быстро построить диалоговое окно, используемое
       редактором диалогов.  Создавать  и перемещать элементы управления
       здесь также просто, как нажатие кнопки "мыши" и "буксировка".


       ----T---------------------------------------------------T---T---¬
       ¦ - ¦-----------------------Options---------------------¦ v ¦ ^ ¦
       +---+---------------------------------------------------+---+---+
       ¦=  File Edit Resource Control Options Window Help          ¦   ¦
       +-----------------------------------------------------------+-T-+
       ¦--T--------------------------------------¬ --T-----------¬   ¦^¦
       ¦¦=¦             Options                  ¦ ¦=¦ Caption   ¦   +-+
       ¦+-+--------------------------------------+ +-+-----------+   ¦-¦
       ¦¦--Shape------¬ --Colors---------------¬ ¦ +-T-----T-----+   ¦-¦
       ¦¦¦            ¦ ¦ --¬        --¬       ¦ ¦ ¦=¦Align¦Tools¦   ¦-¦
       ¦¦¦  O Square  ¦ ¦ ¦X¦ Blue   ¦ ¦ Red   ¦ ¦ +-+-T-T-+-T-T-+   ¦-¦
       ¦¦¦            ¦ ¦ L-- ----   L--       ¦ ¦ ¦>¦<¦>¦<¦^¦С¦О¦   ¦-¦
       ¦¦¦  0 Circle  ¦ ¦ --¬        --¬       ¦ ¦ +-+-+-+-+-+-+-+   ¦-¦
       ¦¦¦            ¦ ¦ ¦X¦ Yellow ¦ ¦ White ¦ ¦ ¦v¦^¦v¦^¦+¦¦¦-¦   ¦-¦
       ¦¦¦  O Triangle¦ ¦ L--        L--       ¦ ¦ L-+-+-+-+-+-+-+   ¦-¦
       ¦¦¦            ¦ L----------------------- ¦         ¦G¦"¦x¦   ¦-¦
       ¦¦L-------------                          ¦         +-+-+-+   ¦-¦
       ¦¦                                        ¦         ¦1¦-¦¬¦   ¦-¦
       ¦¦                                        ¦         +-+-+-+   ¦-¦
       ¦¦ ---OK---   ---Cancel----  ----Help---- ¦         ¦T¦Г¦U¦   ¦-¦
       ¦¦                                        ¦         +-+-+-+   ¦-¦
       ¦L-----------------------------------------         ¦ш¦:¦ ¦   ¦-¦
       ¦                                                   +-+-+-+   ¦-¦
       ¦                                                   ¦u¦ ¦ф¦   ¦-¦
       ¦                                                   L-+-+--   +-+
       ¦                                                             ¦v¦
       +-T---------------------------------------------------------T-+-+
       ¦>¦---------------------------------------------------------¦<¦ ¦
       +-+-----------------------T---------------------------------+-+-+
       ¦ Ready                   ¦ Modify                              ¦
       L-------------------------+--------------------------------------

            Рис. 2.7 Редактор диалогов (см.  также в оригинале руководс-
       тва)

            По следующим причинам иногда желательно вместо редактора ре-
       сурсов использовать внутренний редактор Пакета  разработчика  ре-
       сурсов:

            - Если  вы  имеете  опыт программирования в Windows,  иногда
              предпочтительнее работать с записями ресурсов.

            - Может оказаться,  что некоторые вещи легче исправить с по-
              мощью текстового редактора,  в то время как крупные правки
              легче выполнять с помощью редактора ресурсов.

            - Иногда желательно использовать текстовый  редактор,  чтобы
              использовать преимущества некоторых минимальных возможнос-
              тей, не поддерживаемых редактором ресурсов, таких как ред-
              ко используемые параметры или отдельные флаги.

            Однако даже  опытные программисты могут обнаружить,  что ре-
       дакторы ресурсов  являются более гибким и мощным средством, кото-
       рое допускает разнообразное использование при создании ресурсов.

                            Типы файлов ресурсов
       -----------------------------------------------------------------

            Файл, который вы создаете и редактируете  с  помощью  Пакета
       разработчика ресурсов, может иметь двоичный или текстовый формат.
       Кроме того,  Пакет разработчика ресурсов может генерировать файлы
       в стандартном  формате Windows,  что означает,  что вы можете ис-
       пользовать файлы Пакета разработчика ресурсов с любой программой,
       которая генерирует  двоичный код из файлов записей ресурсов (нап-
       ример, с компилятором ресурсов фирмы Microsoft).

                  Примечание: Не все файлы Пакета  разработчика ресурсов
             .RC  будут совместимы с компилятором ресурсов. Компилируйте
             эти файлы с формат .RES с помощью Пакета  разработчика  ре-
             сурсов.

                         Файлы компилятора ресурсов
       -----------------------------------------------------------------

            Файл компилятора ресурсов (.RC) - это файл  записей ресурсов
       (текстовый файл),  содержащий определения одного или более ресур-
       сов. Этот файл может содержать ресурсы,  определенные в форме за-
       писей, и ссылки на другие содержащие ресурсы файлы.

                   Примечание: О  командах записей рассказывается в опе-
            ративном справочнике Help.

            В общем случае вам следует основывать все ваши проекты Паке-
       та разработчика ресурсов по крайней мере на одном файле .RC.


                               Файлы ресурсов
       -----------------------------------------------------------------

            Файл ресурсов (.RES) содержит один или  более  компилируемых
       ресурсов.

            Обычно при создании программы Windows все ресурсы прикладной
       программы компилируются в одном файле ресурсов .RES,  который за-
       тем  связывается с выполняемой программой при компоновке.  Однако
       при работе с Пакетом разработчика ресурсов,  если  вы  не  хотите
       создавать файл ресурсов .RES,  можно этого не делать, так как Па-
       кет разработчика ресурсов может компилировать  файлы  ресурсов  и
       связывать их непосредственно с выполняемым файлом.



       Выполняемые файлы и файлы динамически компонуемых библиотек
       -----------------------------------------------------------------

            Выполняемый файл .EXE или файл динамически компонуемой  биб-
       лиотеки DLL - это конечная цель определения  всех ресурсов, опре-
       деляемых с помощью Пакета разработчика ресурсов.  Обычно файл .RC
       компилируется в файл .RES,  затем для связывания файла .RES с вы-
       полняемым файлом или с файлом DLL используется  компилятор. Чтобы
       связать  ресурсы непосредственно с файлом .EXE или .DLL,  опуская
       фазу компилятора RC,  вы можете использовать  Пакет  разработчика
       ресурсов.

            Если вы  хотите  изменить  ресурсы  в компилируемом двоичном
       файле (выполняемом файле,  файле .DLL или файле .RES),  то  Пакет
       разработчика ресурсов  будет декомпилировать этот файл,  чтобы вы
       могли внести изменения, а затем сохранит ресурсы обратно в двоич-
       ном файле.

                              Диалоговые файлы
       -----------------------------------------------------------------

            Диалоговый файл (.DLG) - это файл записей ресурсов  (тексто-
       вый файл), который обычно содержит описания одного или более диа-
       логовых блоков. Эти ресурсы не обязательно должны быть диалоговы-
       ми, это могут быть любые ресурсы, найденные в файле .RC.


                           Файлы битовых массивов
       -----------------------------------------------------------------

            Файлы битовых массивов (.BMP) содержит ресурс битового  мас-
       сива в двоичном формате.


                              Файлы пиктограмм
       -----------------------------------------------------------------

            Файлы пиктограмм (.ICO) содержат пиктограммы в двоичном фор-
       мате.


                               Файлы курсоров
       -----------------------------------------------------------------

            Файлы курсоров  (.BMP) содержат специальный  курсор в двоич-
       ном формате.



                                Файлы шрифтов
       -----------------------------------------------------------------
   
         Файлы шрифтов имеют две формы: двоичную и библиотечную.

            - Двоичный файл шрифта (.FNT) содержит определение специаль-
              ного  шрифта  в двоичном формате.  Для разработки шрифта и
              записи его в файл .FNT вы можете  использовать графический
              редактор Пакета разработчика ресурсов.

           - Файл библиотеки шрифта (.FON) представляет собой динамичес-
              ки компонуемую библиотеку ресурсов, которая содержит ката-
              лог  шрифта  и  один или более шрифтов.  Вы можете создать
              файлы .FON вне Пакета разработчика ресурсов.  Однако после
              создания  файла .FON для модификации этого файла нужно ис-
              пользовать Пакет разработчика ресурсов.

                  Примечание: Файлы .FON описываются далее.
                            Файлы идентификаторов
       -----------------------------------------------------------------
            Программы Windows  используют  для  уникальной идентификации
       каждого ресурса числа.  Эти числа можно использовать в  программе
       для идентификации ресурсов, с которыми вы хотите работать. Однако
       такая форма не слишком описательна.  Для прикладных программ, на-
       писанных на  языке  Си,  для  присваивания символьных определений
       значениям-константам используются определения #define. В приклад-
       ных программах,  написанных на Паскале,  используются определения
       констант.

                  Примечание: Более подробно об использовании  идентифи-
             каторов  при работе с Пакетом разработчика ресурсов расска-
             зывается далее.

            В данном руководстве термин "идентификатор"  используется  и
       для определений #define и для констант.

            С помощью идентификаторов вы можете создавать значащие имена
       вместо малоосмысленных чисел.  Например, хотя вы можете использо-
       вать для  уникальной идентификации меню число 100,  идентификатор
       вида FILEMENU является значительно более описательным.

            Если вы пишете программу на языке Си, то можете записать оп-
       ределения #define ресурса в файле заголовка (.H).  В программе на
       Паскале вы можете сохранить константы ресурсов  в  модуле  (.PAS)
       или в включаемом файле (.INC).

            В данном руководстве используются все три вида файлов, кото-
       рые обобщенно называются файлами идентификаторов.

                  Использование файлов заголовков языка Си
       -----------------------------------------------------------------
            Если вы пишете программу на языке Си,  используйте определе-
       ния #define и запишите их в файл заголовка.  Типичный файл  заго-
       ловка показан в следующем примере:

            /**********************************************************
            *        Определения для программы BCDEMO.                *
            **********************************************************/

            #define LINE 1
            #define ELLIPSE LINE + 1
            #define RECTANGLE LINE + 2

            #define MID_QUIT 100
            #define MID_LINE 201
            #define MID_ELLIPSE MID_LINE + 1
            #define MID_RECTANGLE MID_LINE + 2
            #define MID_THIN 301
            #define MID_REGULAR MID_THIN + 1
            #define MID_THICK MID_THIN + 2

            Кроме #define  вы  можете записать здесь определения типов и
       структур, код программы и комментарии.  Пакет разработчика ресур-
       сов игнорирует в файле заголовка все данные, за исключением опре-
       делений #define и директив препроцессора.
              Использование включаемых файлов и модулей Паскаля
       -----------------------------------------------------------------

            Если ваша программа написана на Паскале, вы можете использо-
       вать константы и записывать их  в  файле  модуля  или  включаемом
       файле. С помощью констант вы можете записывать только комментарии
       и директивы компилятора,  а компилятор может  работать  только  с
       константами,  определенными  как  нетипизованное целое значение и
       выражения длинного целого типа.

            (**********************************************************
            *        Определения констант для программы TDDEMO.       *
            ***********************************************************)

            unit TddemoConst;

            interface

            const
               LINE = 1;
               ELLIPSE = LINE + 1;
               RECTANGLE = LINE + 2;

               MID_QUIT = 100;
               MID_LINE = 201;
               MID_ELLIPSE = MID_LINE + 1;
               MID_RECTANGLE = MID_LINE + 2;
               MID_THIN = 301;
               MID_REGULAR = MID_THIN + 1;
               MID_THICK = MID_TRHIN + 2;
            implementation

            end.

            Кроме комментариев и директив компилятора в секции interface
       допускаются только  определения  констант.  Секция implementation
       должна быть пустой.  За ключевым словом end может  следовать  все
       что  угодно,  но  Пакет разработчика ресурсов будет это игнориро-
       вать.

            Как показано  в следующем примере, включаемый файл может со-
       держать только описания констант,  комментарии и директивы компи-
       лятора:

            (**********************************************************
            *        Определения констант для программы TDDEMO.       *
            ***********************************************************)

            const
               LINE = 1;
               ELLIPSE = LINE + 1;
               RECTANGLE = LINE + 2;

               MID_QUIT = 100;
               MID_LINE = 201;
               MID_ELLIPSE = MID_LINE + 1;
               MID_RECTANGLE = MID_LINE + 2;
               MID_THIN = 301;
               MID_REGULAR = MID_THIN + 1;
               MID_THICK = MID_TRHIN + 2;

                                 Файлы .DRV
       -----------------------------------------------------------------

            Файл .DRV  -  это  файл  драйвера  Windows (особый вид DLL).
       Вы можете редактировать ресурсы в одном из этих файлов, как любую
       библиотеку DLL.

                Совместная работа этих файлов - файл проекта
       -----------------------------------------------------------------

            Пакет разработчика ресурсов облегчает  отслеживание ресурсов
       путем организации  их  в  проект.  В  самых общих словах,  проект
       состоит из следующих типов файлов ресурсов (содержит  по  крайней
       мере один из этих файлов):

            - Файла записей ресурсов (RC или .DLG).

            - Двоичного файла ресурсов (.RES).

            - Двоичного файла курсоров (.CUR).

            - Двоичного файла пиктограмм (.ICO).

            - Двоичного файла битового массива (.BMP).

            - Двоичного файла шрифта (.FMT).

            - Двоичного библиотечного файла шрифта (.FON).

            - Выполняемого файла (.EXE).

            - Файла динамически компонуемой библиотеки (DLL).

            - Файла драйвера устройства Windows (.DRV).

            Например, если  вы хотите создать проект Пакета разработчика
       ресурсов, содержащий только курсор,  можно создать проект,  кото-
       рый содержит единственный файл .CUR.

            Чтобы использовать  все  преимущества функциональных возмож-
       ностей Пакета разработчика ресурсов,  ваш проект Пакета разработ-
       чика ресурсов должен строиться вокруг файла .RC.  Например,  один
       файл .RC может ссылаться на несколько диалоговых  окон, курсоров,
       пиктограмм, битовых массивов или шрифтов.

            Приведем пример  набора  файлов,  с которыми вы можете рабо-
       тать. Предположим,  во-первых,  что вы создали файл .RC и назвали
       его MYPROJ.RC. Этот файл будет центральным файлом вашего проекта.
       Вы можете добавить столько видов ресурсов,  сколько хотите, но на
       все в вашем проекте нужны ссылки в файле .RC.
             -------------¬
             ¦ myproj.rc  ¦   Файл .RC - это основной файл проекта
             ¦ .......... ¦   Пакета разработчика ресурсов
             ¦ .......... ¦
             ¦ .......... ¦
             ¦ .......... ¦
             ¦ .......... ¦
             ¦ .......... ¦
             L-------------

            Рис. 2.8 NMYPROJ.RC - центральный файл описания проекта

            Предположим, вы  хотите создать курсор и битовый массив.  Вы
       можете создать эти новые ресурсы с помощью  команды  Resource¦New
       (Ресурс¦Новый) и  указать,  что  вы хотите записать их во внешних
       файлах - файле курсора .CUR и файле битового массива  .BMP. Пакет
       разработчика ресурсов помещает в файл .RC ссылки,  благодаря чему
       вы можете использовать графический редактор  Пакета  разработчика
       ресурсов, чтобы нарисовать курсор и битовый массив.  Пакет разра-
       ботчика ресурсов сохранит их в соответствующих файлах.


            Диаграмма этих связей показана на следующих рисунках:

            -------------¬                      ---------------¬
            ¦ myproj.rc  ¦   -------------------+ mycursor.cur ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            ¦ ..........-+----                  ¦ ............ ¦
            ¦ .......... ¦                      ¦ ............ ¦
            ¦ ..........-+---¬                  ¦ ............ ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            L-------------   ¦                  L---------------
                             ¦
                             ¦
                             ¦                  ---------------¬
                             L------------------+ mybitmap.bmp ¦
                                                ¦ ............ ¦
             Файл .RC содержит ссылки на        ¦ ............ ¦
             двоичные данные, содержащиеся      ¦ ............ ¦
             в файлах .CUR и .BMP               ¦ ............ ¦
                                                ¦ ............ ¦
                                                ¦ ............ ¦
                                                L---------------

            Рис. 2.9 MYPROJ.RC указывает на файлы .CUR и .MAP


            Предположим теперь, что вы хотите использовать идентификато-
       ры для присваивания ресурсам смысловых имен.  Если вы добавите  к
       проекту файл заголовка (.H), Пакет разработчика ресурсов помещает
       ссылку на файл заголовка в файл .RC и может  затем  записывать  в
       файл заголовка новые идентификаторы.

            -------------¬                      ---------------¬
            ¦ myproj.rc  ¦   -------------------+ mycursor.cur ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            ¦ ..........-+----                  ¦ ............ ¦
            ¦ .......... ¦                      ¦ ............ ¦
            ¦ ..........-+---¬                  ¦ ............ ¦
            ¦ .......... ¦   ¦                  ¦ ............ ¦
            L-----T-------   ¦                  L---------------
                  ¦          ¦
                  ¦          ¦
                  ¦          ¦                  ---------------¬
                  ¦          L------------------+ mybitmap.bmp ¦
                  ¦                             ¦ ............ ¦
           -------+-------¬                     ¦ ............ ¦
           ¦ myproj.h     ¦                     ¦ ............ ¦
           ¦ ............ ¦                     ¦ ............ ¦
           ¦ ............ ¦                     ¦ ............ ¦
           ¦ ............ ¦                     ¦ ............ ¦
           ¦ ............ ¦                     L---------------
           ¦ ............ ¦   Файл .H содержит определения
           ¦ ............ ¦   #define, которые вы можете использовать
           L---------------   для присваивания ресурсам смысловых
                              имен.

            Рис. 2.10 Файл MYPROJ.RC указывает на  файлы  .CUR,  .MAP  и
       .CUR

            Итак, вы работаете с файлами данных ресурсов,  которые можно
       с помощью Пакета разработчика ресурсов скомпилировать в один файл
       .RES, а  затем  связать  его  с  помощью  компилятора языка фирмы
       Borland с существующим выполняемым файлом.


       ----------------------------------------------------------------¬
       ¦    -------------¬                      ---------------¬       ¦
       ¦    ¦ myproj.rc  ¦   -------------------+ mycursor.cur ¦       ¦
       ¦    ¦ .......... ¦   ¦                  ¦ ............ ¦       ¦
       ¦    ¦ ..........-+----                  ¦ ............ ¦       ¦
       ¦    ¦ ..........-+---¬                  ¦ ............ ¦       ¦
       ¦    ¦ .......... ¦   ¦                  ¦ ............ ¦       ¦
       ¦    L-----T-------   ¦                  L---------------       ¦
       ¦          ¦          ¦                                         ¦
       ¦          ¦          ¦                                         ¦
       ¦          ¦          ¦                  ---------------¬       ¦
       ¦          ¦          L------------------+ mybitmap.bmp ¦       ¦
       ¦          ¦                             ¦ ............ ¦       ¦
       ¦   -------+-------¬                     ¦ ............ ¦       ¦
       ¦   ¦ myproj.h     ¦                     ¦ ............ ¦       ¦
       ¦   ¦ ............ ¦                     ¦ ............ ¦       ¦
       ¦   ¦ ............ ¦                     L---------------       ¦
       ¦   ¦ ............ ¦                                            ¦
       ¦   ¦ ............ ¦                                            ¦
       ¦   L---------------                                            ¦
       L------------------------------T---------------------------------
                                      ¦
                                      v
                               ---------------¬   Скомпилированный
                               ¦ myproj.res   ¦   файл ресурсов
                               ¦ ............ ¦
                               ¦ ............ ¦
                               ¦ ............ ¦
                               L------T--------
                                      ¦
                                      v
                               ---------------¬   Выполняемый файл
                               ¦ myproj.exe   ¦
                               ¦ ............ ¦
                               ¦ ............ ¦
                               ¦ ............ ¦
                               ¦ ............ ¦
                               L---------------

            Рис. 2.11 Файл MYPROJ.RC, встроенный в выполняемый файл

            Конечно на  самом  деле проекты Па+кета разработчика ресурсов
       будут гораздо более сложными и большими,чем этот приведенный выше
       пример. Некоторые этапы вы можете выполнить по-другому, например,
       пропустить файл .RES и выполнить  компиляцию  непосредственно  из
       ваших исходных данных в выполняемый файл.  Однако принцип проекта
       остается неизменным,  и после того,  как вы познакомитесь с  этой
       идеей, создание ваших собственный  проектов  Пакета  разработчика
       ресурсов не составит для вас труда.
            Работа с файлом описания проекта - окно проекта
       -----------------------------------------------------------------

            Пакет разработчика ресурсов облегчает вам разработку необхо-
       димых ресурсов и позволяет работать со всеми ресурсами прикладной
       программы.

            Независимо от того, работаете вы с существующим проектом или
       создаете новый,  первое, что вы увидите в Пакете разработчика ре-
       сурсов, это окно проекта. В окне проекта вам выводится информация
       о том  проекте,  с которым вы работаете,  включая типы ресурсов и
       файлов, используемых в проекте.

            Многие проекты состоят из основного файла .RC,  который  со-
       держит ссылки на другие ресурсы.  Ссылки в основном файле .RС мо-
       гут включать в себя:

            - другие файлы .RC;

            - файлы .DLG;

            - файлы двоичных ресурсов, такие как .BMP (битовые массивы),
              файлы .CUR (курсоры) и файлы .FNT (шрифты);

            - файлы .H содержат определения #defines, которые присваива-
              ют ресурсам осмысленные имена;

            - файлы .INC (включаемые) или файлы .PAS (модули),  содержа-
              щие  константы  Паскаля и присваивающие вашим ресурсам ос-
              мысленные имена.


       ----T---------------------------------------------------T---T---¬
       ¦ - ¦     с/:workshop/myproj.rc                         ¦ v ¦ ^ ¦
       +---+---------------------------------------------------+---+---+
       ¦-c:/WORKSHOP/myproj.rc-----------------------------------------¦
       +-------------------------------------------------------------T-+
       ¦      include typical.rc                                     ¦^¦
       ¦           #include titled.h                                 +-+
       ¦           DIALOG: DIALOG_1                                  ¦-¦
       ¦           MENU: MENU_1                                      ¦-¦
       ¦           STRINGTABLE: MENU_FILE                            ¦-¦
       ¦                                                             ¦-¦
       ¦      arrow.cur                                              ¦-¦
       ¦           CURSOR: CURSOR_1                                  ¦-¦
       ¦                                                             ¦-¦
       ¦      telecomm.ico                                           ¦-¦
       ¦           ICON: ICON_1                                      ¦-¦
       ¦                                                             ¦-¦
       ¦                                                             ¦-¦
       ¦                                                             +-+
       ¦                                                             ¦v¦
       L-------------------------------------------------------------+--

            Рис. 2.12 Типичное окно проекта

            Кроме предоставления вам возможности обзора  всех  файлов  и
       ресурсов, содержащихся в проекте, окно проекта Пакета разработчи-
       ка ресурсов позволяет также при необходимости выполнять необходи-
       мое изменение и перекомпиляцию.  Например, если вы измените иден-
       тификатор ресурса,  Пакет  разработчика  ресурсов   автоматически
       перекомпилирует все ресурсы, на которые влияет данное изменение.

            В следующей  главе окно проекта описывается более подробно и
       поясняется, как можно использовать его меню и средства для работы
       с проектами.
                    Замечания для неопытных пользователей
       -----------------------------------------------------------------

            Наиболее важной концепцией,  которую требуется понимать  для
       работы с  Пакетом  разработчика  ресурсов,  является единственная
       концепция - проект.  Организация одного или более ресурсов в про-
       ект упрощает  работу  с ресурсами,  а Пакет разработчика ресурсов
       берет на себя многие детали (например,  помещение ссылок в  соот-
       ветствующие файлы).  В  большинстве  случаев желательно создавать
       проект на основе файла .RC.  Это позволяет использовать все функ-
       циональные возможности Пакета разработчика ресурсов.

            Если у вас нет опыта работы с Пакетом разработчика ресурсов,
       прочитайте сначала Главу 3,  где вы найдете информацию о создании
       и работе с проектами. Изучение Главы 3 даст вам также основы, не-
       обходимые для создания ресурсов.

            Приведем некоторые замечания,  которые помогут  вам  быстрее
       начать работу:

            - Для  открытия  существующих  файлов  описания проектов или
              создания новых используйте меню File (Файл).

            - Для получения пояснений по  функциям  Пакета  разработчика
              ресурсов  используйте строку состояния в нижней части окна
              Пакета разработчика ресурсов.

                 * В левой части строки  состояния  вы  найдете  краткое
                   описание  текущих подсвеченных команд меню.  В правой
                   части строки состояния выводится полезная информация,
                   которая пригодится вам для работы с одним из редакто-
                   ров ресурсов.

                 * Оперативный справочник Help  дает  более  углубленные
                   описания  всех аспектов Пакета разработчика ресурсов.
                   Получить доступ к контекстному  справочнику  можно  с
                   помощью  клавиш  Shift+F1.  При этом выведется курсор
                   Help. Щелкните кнопкой "мыши", поместив курсор не ин-
                   тересующую вас тему.

            - Если вы используете идентификаторы,  убедитесь, что вы за-
              писываете их в соответствующем файле идентификаторов. Луч-
              ше избегать записи идентификаторов в файле ресурсов. Когда
              вы записываете идентификатор,  Пакет разработчика ресурсов
              выводит вам то место, куда его нужно записать.

            - Пакет  разработчика ресурсов включает в себя средства Undo
              (Отмена) и Redo (Повтор),  которые позволяют вам проходить
              в  обоих направлениях предыдущие задачи,  которые выполня-
              лись ранее. Например, вы можете отменить линии, нарисован-
              ные в битовом изображении. Для задания максимального числа
              уровней отмены используйте команду File¦Preferences (Файл¦
              Параметры).

            - Для работы с ресурсами прикладной программы вам не  требу-
              ется  обращаться к исходному коду программы.  Пакет разра-
              ботчика ресурсов может декомпилировать ресурсы в существу-
              ющем  выполняемом  файле  и  позволяет  вам  вносить в них
              изменения.

            - Вы можете работать с существующими  выполняемыми  файлами,
              файлами .DLL и .FON, но не можете создать с помощью Пакета
              разработчика ресурсов новый выполняемый  файл,  файл  .DLL
              или .FON.

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог