Работа с ресурсами в Delphi
Автор статьи: alvas.hypermart.net
Сайт Автора: alvas.hypermart.net
E-mail Автора: нет
Дата публикации: 6.08.2005
Windows поддерживает такие виды ресурсов: RT_ACCELERATOR Accelerator table Самый простой из них это RT_STRING - то есть строковый. Для работы с ним
предусмотрено специальное зарезервированное слово -
resourcestring. ================================================== Например: ================================================== procedure TForm1.Button1Click(Sender: TObject); var S: array [0..255] of Char; begin LoadString(HInstance, SLineTooLong, S, SizeOf(S)); ShowMessage(S); end;================================================== Второй способ сделать то же самое немного сложнее, но он показывает принцип работы с ресурсами вообще. Для этого нам нужно создать включаемый файл myres.inc и в теле прописать константы, по которым мы будем обращаться к строковым ресурсам. ================================================== Еще нам нужно создать ресурсный текстовый файл myres.rc. ================================================== Обратите внимание, что теперь текст нужно брать в двойные кавычки. Теперь нам необходимо откомпилировать наш файл ресурсов. Создаем для удобства простой пакетный файл myres.bat, в который записываем такую строку ================================================== brcc32.exe myres.rc ================================================== Запускаем его на выполнение. Он должен создать скомпилированный файл ресурса
myres.res. Теперь подключаем myres.inc и myres.res в наш
Main.pas. ================================================== Теперь попробуем подключить к приложению свой курсор. Для этого необходимо: 1. Сначала в Image Editor'е или другом редакторе ресурсов создать свой курсор. Сохранить его под именем, например, Cursor.cur 2. Создаем файл MyCursor.rc, в теле которого записываем строку MyCursor CURSOR "cursor.cur" 3. Компилируем наш файл ресурса, набрав в командной строке brcc32 MyCursor.rc и получаем на выходе скомпилированный файл ресурса MyCursor.res. 4. В *.pas-файле добавляем ссылку на наш файл ресурса. {$R MyCursor.res} 5. Объявляем константу, по которой будем обращаться к нашему курсору. const Замечание. Для своих курсоров можно использовать только положительные значения. 6. Добавляем в список курсоров новый... Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'MyCursor'); 7. Подключаем, вместо курсора по умолчанию, свой курсор. Cursor := crMyCursor; 8. Запускаем приложение. //============================================ Подключение иконок и bitmap-ресурсов аналогично подключению курсоров. Мы попробуем подключить стандартные иконки и bitmap'ы. Это делается так. Image1.Picture.Icon.Handle := LoadIcon(0,
PChar(IDI_APPLICATION)); Для более подробной информации смотрите соответствующие функции
WinApi. Теперь мы перешли к работе с определенными пользователем ресурсами. Мы попробуем подключить текстовый и *.avi-файл. 1. Берем из примеров Delphi файл cool.avi, который находится в
каталоге 2. Создаем любой текстовый файл с именем app.txt и помещаем эти файлы к каталог нашего проекта. 3. Создаем текстовый файл ресурса MyRes.rc с телом MyText Text APP.TXT brcc32 myres.rc 5. Делаем изменения в *.pas-файле. 6. Запускаем. {*******************************************************}
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
Animate1: TAnimate;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure TextResource;
procedure AVIResource;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{$R MyRes.res}
procedure TForm1.AVIResource;
begin
Animate1.ResName := 'CoolAvi';
Animate1.Active := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
TextResource;
AVIResource;
end;
procedure TForm1.TextResource;
var
Resource: THandle;
begin
Resource := LoadResource(hInstance,
FindResource(hInstance, 'MyText', 'TEXT'));
Memo1.Lines.Text := PChar(LockResource(Resource));
UnLockResource(Resource);
FreeResource(Resource);
end;
end. |
|
"Работа с ресурсами в Delphi" Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2007. Перепечатка материалов разрешается, только после письменного разрешения автора (e-mail). При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны. |
|
|