-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathUt_Images.pas
More file actions
140 lines (107 loc) · 2.5 KB
/
Ut_Images.pas
File metadata and controls
140 lines (107 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
unit Ut_Images;
interface
uses
controls, classes;
type
TImageResourceList = class(TImageList)
private
FLoadedBitmaps : TStringList;
public
constructor Create(Onwer : TComponent); override;
destructor Destroy; override;
function GetIndexByName(const aImageName : String) : integer;
end;
// Contenedor de imagenes cargadas de disco
TGlobalImageList = class(TImageList)
private
FLoadedBitmaps : TStringList;
public
constructor Create(Onwer : TComponent); override;
destructor Destroy; override;
function GetImageIndexByName(const aImageName : String) : integer;
end;
function GetGlobalImagesList : TGlobalImageList;
{.$R solar_components_comp_res.dcr}
{.$R global_res16x16.dcr}
implementation
uses
//dcgen,
dialogs, forms, ut_resources, ImgList;
type
TMLMEASURESTATICTEXT = class(TObject)
end;
var
_GetGlobalImagesList : TGlobalImageList;
function GetGlobalImagesList : TGlobalImageList;
begin
if _GetGlobalImagesList = nil then
_GetGlobalImagesList := TGlobalImageList.Create(application);
result := _GetGlobalImagesList;
end;
{ TImageResourceList }
constructor TImageResourceList.Create(Onwer: TComponent);
begin
inherited;
FLoadedBitmaps := TStringList.Create;
Self.Height := 16;
Width := 16;
end;
destructor TImageResourceList.Destroy;
begin
FLoadedBitmaps.Free;
inherited;
end;
function TImageResourceList.GetIndexByName(
const aImageName: String): integer;
var
H:THandle;
begin
result := FLoadedBitmaps.IndexOf(aImageName);
if result >= 0 then
exit
else
begin
h:=FindNameBitmapRes(aImageName);
if h > 0 then
begin
showmessage('ut_images');
// result := AddBitmapFromResource(self,aImageName,H);
FLoadedBitmaps.Add(aImageName);
end;
end;
end;
{ TGlobalImageList }
constructor TGlobalImageList.Create(Onwer: TComponent);
begin
inherited;
FLoadedBitmaps := TStringList.Create;
Height := 16;
Width := 16;
end;
destructor TGlobalImageList.Destroy;
begin
FLoadedBitmaps.Free;
inherited;
end;
function TGlobalImageList.GetImageIndexByName(
const aImageName: String): integer;
var
H:THandle;
begin
result := FLoadedBitmaps.IndexOf(aImageName);
if result >= 0 then
exit
else
begin
h:=FindNameBitmapRes(aImageName);
if h > 0 then
begin
// showmessage('ut_images');
// result := AddBitmapFromResource(self,aImageName,H);
FLoadedBitmaps.Add(aImageName);
end;
end;
end;
initialization
_GetGlobalImagesList := nil;
end.