Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.07;
Скачать: CL | DM;

Вниз

Иконки в программе   Найти похожие ветки 

 
vitnt2000   (2002-02-21 14:54) [0]

Подскажите пожалуйста как в программу включить (засунуть в массив) несколько иконок (штук 100-200) чтобы программно менять значок?
Спасибо!


 
olookin   (2002-02-21 18:44) [1]

Вот пример кода, вытаскивающего иконки из экзешника и размещающего их в Images. Чтобы заменить иконку в своем приложении, нужно:
1. создать массив имен файлов с нужными иконками
2. в нужное время вызывать ExtractIcon
3. и поменять хэндл текущей иконки на вызываемую

var Form1: TForm1;
im: array [0..100] of TImage;
w,n: integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var r: array [0..1000] of char;
begin
if opendialog1.execute then begin
strpcopy(r,opendialog1.filename);
im[n]:=TImage.Create(Form1); im[n].Parent:=ScrollBox1;
im[n].width:=32; im[n].height:=32;
im[n].left:=10+32*w+w*10; im[n].top:=10;
im[n].Picture.icon.handle:=ExtractIcon(Hinstance,r,0);
w:=w+1; n:=n+1; end;
end;

procedure TForm1.DirectoryListBox1Change(Sender: TObject);
var r: array [0..1000] of char;
i: integer;
begin
DirectoryListBox1.Drive := DriveComboBox1.Drive;
FileListBox1.Drive := DriveComboBox1.Drive;
FileListBox1.Directory := DirectoryListBox1.Directory;
for i:=0 to FileListBox1.Items.Count-1 do begin
FileListBox1.ItemIndex:=i;
strpcopy(r,FileListBox1.Filename);
im[n]:=TImage.Create(Form1); im[n].Parent:=ScrollBox1;
im[n].width:=32; im[n].height:=32;
im[n].left:=10+32*w+w*10; im[n].top:=10;
im[n].Picture.icon.handle:=ExtractIcon(Hinstance,r,0);
w:=w+1; n:=n+1; end;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2002.03.07;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.01 c
4-19390
Twilight
2002-01-03 09:27
2002.03.07
Работа с Com-портом, помогите пожалуйста !!!


3-19068
Bormanoid
2002-02-07 21:25
2002.03.07
Как отобразить список записей поля таблицы в combobox?


4-19372
zUN
2002-01-08 21:07
2002.03.07
Робоформ


3-19091
Guts
2002-02-07 16:17
2002.03.07
InterBase 6 and Delphi 5


14-19347
mart
2002-01-19 03:14
2002.03.07
Билль о правах личности.