Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive Объектно-ориентированное программирование на С++ - eDrive

edrive.narod.ru
from edrive.narod.ru More from this publisher
13.01.2015 Views

78 Для динамического подключения пакетов вызывающее приложение следует оснащать функциями LoadPackage и FreePackage вместо LoadLibrary и FreeLibrary. Ресурсы Ресурсы – это битовые образы, хранящиеся непосредственно в исполнительном файле, а не отдельно от приложения. При создании приложения ресурсы помещаются в файл ресурсов проекта .RES автоматически или командой SaveToResource и могут загружаться из него командой LoadFromResource. Ресурсы создаются с помощью встроенного в C++Builder графического редактора Image Editor и им же включаются в файл ресурсов приложения как графические образы Bitmaps, указатели мыши Cursors и значки Icons. Этот же редактор используется для создания отдельных файлов типов .RES, .BMP, .ICO, .CUR, которые впоследствии могут быть подключены к другим проектам. Например, для добавления в текущий файл ресурсов нового значка надо в меню File.Open редактора Image Editor открыть файл ресурсов проекта (.RES). Далее через меню Resource.New.Icon создать новый значок и, выделив его, открыть окно редактора (Resource.Edit), нарисовать или импортировать значок и закрыть окно. Через меню Resource.Rename назвать значок, например, MYICON. и сохранить его. Аналогичным образом через меню Resource.New.Cursor создать новый курсор, открыть окно редактора, нарисовать или импортировать курсор и закрыть окно. Через меню Resource.Rename назвать курсор, например, MYCURSOR. В заключение остается сохранить файл ресурсов и закрыть Image Editor. Для создания нового файла ресурсов с графическим образом дается команда New.Resource File в меню File. В окне ресурсов новый рисунок формируется по команде Resource.New.Bitmap редактором Resource.Edit или копируется через буфер обмена и сохраняется (File.Save) в одной папке с приложением. Пользуясь Image Editor, таким же путем создаются отдельные файлы значков и курсоры.

79 Для подключения нового файла ресурсов к проекту вводится директива препроцессора #pragma resource "имяФайла.res" и дается команда загрузки, например: Image1–>LoadFromResourceName ((int)HInstance, “имяРесурса”) Примеры подключения новых курсоров и значков: const TCursor cur = 5; // свободная константа Screen–>Cursors[cur] = LoadCursor (HInstance, "MYCURSOR"); Cursor = cur; // новый курсор Icon–>Handle = LoadIcon (HInstance, "MYICON"); // новый значок Значки и курсоры из отдельных файлов подключаются методом LoadFromFile (имяФайла.ico) объекта Icon и функцией LoadCursorFromFile (имяФайла.cur) вместо LoadCursor. Для работы с обновленным файлом ресурсов следует закрыть приложение, затем вновь открыть и перестроить его. Потоки Потоки – это отдельно работающие части одной программы. Многие программы используют несколько потоков, среди которых можно выделить первичный поток, отвечающий за создание окон и обработку сообщений, и вторичные потоки, в которых выполняются фоновые операции: загрузка больших файлов, проведение вычислений и т. п. В С++Builder потоками управляет абстрактный класс TThread, и каждый вторичный поток представляет отдельный экземпляр наследника этого класса. Поток создается через меню File.New на базе шаблона TThread Object в виде модуля без формы и кроме обычного конструктора содержит заготовку исполнительного метода Execute. В отличие от конструктора формы, конструктор потока имеет параметр CreateSuspended. Когда он установлен (true), созданный поток сразу не запускается, а ожидает вызова стартового метода Resume. В противном случае сразу вслед за созданием происходит запуск потока. Наиболее распространенные характеристики класса TThread приведены в табл. 16.

78<br />

Для ди<strong>на</strong>мического подключения пакетов вызывающее приложение<br />

следует ос<strong>на</strong>щать функциями LoadPackage и FreePackage вместо LoadLibrary<br />

и FreeLibrary.<br />

Ресурсы<br />

Ресурсы – это битовые образы, хранящиеся непосредственно в исполнительном<br />

файле, а не отдельно от приложения. При создании приложения<br />

ресурсы помещаются в файл ресурсов проекта .RES автоматически или командой<br />

SaveToResource и могут загружаться из него командой LoadFromResource.<br />

Ресурсы создаются с помощью встроенного в C++Builder графического<br />

редактора Image Editor и им же включаются в файл ресурсов приложения как<br />

графические образы Bitmaps, указатели мыши Cursors и з<strong>на</strong>чки Icons. Этот<br />

же редактор используется для создания отдельных файлов типов .RES, .BMP,<br />

.ICO, .CUR, которые впоследствии могут быть подключены к другим проектам.<br />

Например, для добавления в текущий файл ресурсов нового з<strong>на</strong>чка <strong>на</strong>до<br />

в меню File.Open редактора Image Editor открыть файл ресурсов проекта<br />

(.RES). Далее через меню Resource.New.Icon создать новый з<strong>на</strong>чок и, выделив<br />

его, открыть окно редактора (Resource.Edit), <strong>на</strong>рисовать или импортировать<br />

з<strong>на</strong>чок и закрыть окно. Через меню Resource.Rename <strong>на</strong>звать з<strong>на</strong>чок,<br />

<strong>на</strong>пример, MYICON. и сохранить его.<br />

А<strong>на</strong>логичным образом через меню Resource.New.Cursor создать новый<br />

курсор, открыть окно редактора, <strong>на</strong>рисовать или импортировать курсор и закрыть<br />

окно. Через меню Resource.Rename <strong>на</strong>звать курсор, <strong>на</strong>пример,<br />

MYCURSOR. В заключение остается сохранить файл ресурсов и закрыть<br />

Image Editor.<br />

Для создания нового файла ресурсов с графическим образом дается команда<br />

New.Resource File в меню File. В окне ресурсов новый рисунок формируется<br />

по команде Resource.New.Bitmap редактором Resource.Edit или копируется<br />

через буфер обме<strong>на</strong> и сохраняется (File.Save) в одной папке с приложением.<br />

Пользуясь Image Editor, таким же путем создаются отдельные файлы<br />

з<strong>на</strong>чков и курсоры.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!