如何把位图,字体,图标资源保存在Dll动态库中,以便让不同的Windows应用程序共享

benbin 2003-09-12 01:32:20
如题
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbin 2003-09-12
  • 打赏
  • 举报
回复
好,谢谢Delphi_Li,
俺先保存了,漫漫看,谢啦

揭贴。
Delphi_Li 2003-09-12
  • 打赏
  • 举报
回复
RC的例子
/////////////////////////////////////////////////////////////////////////////
// Lesson data - included by SPEAKN.RC

; DOG
DOG bitmap res\dog.dib
DOG sound res\dog.wav

; PIG
PIG bitmap res\pig.dib
PIG sound res\pig.wav

; FROG
FROG bitmap res\frog.dib
FROG sound res\frog.wav

; TRAIN
TRAIN bitmap res\train.dib
TRAIN sound res\train.wav

Delphi_Li 2003-09-12
  • 打赏
  • 举报
回复
1、用文本编辑器编写一个文本文件,象下面这个样子:

名称 类型 位置
XXX BITMAP "A.BMP"
....

2、保存这个文件,扩展名用Rc(其实什么都可以)
3、使用命令行Brcc32 XXX.Rc文件
4、如果成功,将生成一个XXX.Res的文件
5、在DLL文件中加入{$R XXX.RES}(XXX.Res是你的Res文件)
6、使用各种装载资源的Load方法从DLL中获取资源
benbin 2003-09-12
  • 打赏
  • 举报
回复
To Drate :

我想把图标,图片,字体等资源放到我自己做的DLL内,如何做?

benbin 2003-09-12
  • 打赏
  • 举报
回复
To Delphi_Li:

俺太菜,对于1,2步能否再详细告之。
Drate 2003-09-12
  • 打赏
  • 举报
回复
把图标存储在SHELL32.DLL laoli(原作)

关键字 图标,SHELL32.DLL



uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,shellapi,Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
DesktopIcon: TimageList; // 做一个你喜欢的图象列表
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
Var Ico: TIcon;
Sfi: Tshfileinfo;
I : Integer;
begin

//分配一个句柄给图象列表

DesktopIcon:= TImageList.Create(Self);
DesktopIcon.Handle := SHGetFileInfo('', 0, sfi, SizeOf(TSHFileInfo),
shGFI_SYSICONINDEX or SHGFI_SMALLICON);
DesktopIcon.ShareImages := TRUE;
For I:=0 to DesktopIcon.count -1 do
Begin
Ico := Ticon.Create;
DesktopIcon.GetIcon(I,Ico);
Ico.SaveToFile('c:\icons\'+inttostr(i)+'.ico');
Ico.Free;
End;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Desktopicon.free;
end;

end.

Delphi_Li 2003-09-12
  • 打赏
  • 举报
回复
1、创建RC脚本
2、用Brcc32将上面的脚本编译成Res文件
3、在DLL文件中加入{$R XXX.RES}(XXX.Res是你的Res文件)
4、使用各种装载资源的Load方法从DLL中获取资源

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧