Программа на Delphi, которая демонстрирует работу с ресурсами, в частности, загрузку иконок и курсоров. Проект состоит из двух единиц: MainFrm и resource.
Единица resource содержит основной код программы и определяет несколько констант для идентификаторов ресурсов.
Единица MainFrm определяет форму (TMainForm) с несколькими кнопками. Каждая кнопка связана с процедурой, которая загружает конкретную иконку или курсор.
unitMainFrm;interfaceusesWindows,Forms,Controls,Classes,StdCtrls,ExtCtrls;constcrXHair=1;// Определить константу для нового курсора. Значение должно быть положительным числом или меньше -20.typeTMainForm=class(TForm)imgBitmap:TImage;btnChemicals:TButton;btnClear:TButton;btnChangeIcon:TButton;btnNewCursor:TButton;btnOldCursor:TButton;btnOldIcon:TButton;btnAthena:TButton;procedurebtnChemicalsClick(Sender:TObject);procedurebtnClearClick(Sender:TObject);procedurebtnChangeIconClick(Sender:TObject);procedurebtnNewCursorClick(Sender:TObject);procedurebtnOldCursorClick(Sender:TObject);procedurebtnOldIconClick(Sender:TObject);procedurebtnAthenaClick(Sender:TObject);end;varMainForm:TMainForm;implementation{$R *.DFM}procedureTMainForm.btnChemicalsClick(Sender:TObject);begin// Загрузить битмап из файла ресурсов. Битмап должен быть указан в верхнем регистре!imgBitmap.Picture.Bitmap.LoadFromResourceName(hInstance,'CHEMICAL');end;procedureTMainForm.btnClearClick(Sender:TObject);begin// Очистить изображение, отображаемое компонентом imgBitmap.imgBitmap.Picture.Assign(nil);// Очищать изображениеend;procedureTMainForm.btnChangeIconClick(Sender:TObject);begin// Загрузить иконку из файла ресурсов. Иконка должна быть указана в верхнем регистре!Application.Icon.Handle:=LoadIcon(hInstance,'SKYLINE');end;procedureTMainForm.btnNewCursorClick(Sender:TObject);begin// Присвоить новый курсор Screen'с Cursor array.Screen.Cursors[crXHair]:=LoadCursor(hInstance,'XHAIR');Screen.Cursor:=crXHair;// Теперь изменить курсорend;procedureTMainForm.btnOldCursorClick(Sender:TObject);begin// Изменить курсор обратно на стандартный курсор.Screen.Cursor:=crDefault;end;procedureTMainForm.btnOldIconClick(Sender:TObject);begin// Загрузить иконку из файла ресурсов. Иконка должна быть указана в верхнем регистре!Application.Icon.Handle:=LoadIcon(hInstance,'DELPHI');end;procedureTMainForm.btnAthenaClick(Sender:TObject);begin// Загрузить битмап из файла ресурсов. Битмап должен быть указан в верхнем регистре!imgBitmap.Picture.Bitmap.LoadFromResourceName(hInstance,'ATHENA');end;end.
Проект демонстрирует загрузку иконок и курсоров с помощью функций LoadIcon и LoadCursor, соответственно. Иконки и курсоры загружаются из файлов ресурсов, определенных в единице resource.
В процедурах:
btnChemicalsClick: Загружает битмап CHEMICAL из файла ресурсов.
btnChangeIconClick: Загружает иконку SKYLINE из файла ресурсов и присваивает ее приложению.
btnNewCursorClick: Загружает курсор XHAIR из файла ресурсов, присваивает его Screen'с Cursor array и изменяет курсор.
btnOldCursorClick: Изменяет курсор обратно на стандартный курсор.
btnOldIconClick: Загружает иконку DELPHI из файла ресурсов и присваивает ее приложению.
btnAthenaClick: Загружает битмап ATHENA из файла ресурсов.
Обратите внимание, что файлы ресурсов (*.RES и RESFILE2.RES) содержат загружаемые иконки и курсоры, а идентификаторы ресурсов (например, 'CHEMICAL', 'SKYLINE', и т.д.) соответствуют именам ресурсов в файлах ресурсов.
В статье описывается работа с ресурсами в программировании на языке Delphi, включая загрузку иконок и курсоров.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.