Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.004 c
3-19084
vladnt
2002-02-07 16:13
2002.03.07
Ошибка BDE: Corrupt file-Other than header ...basa.db).


3-19105
alexts
2002-02-11 11:06
2002.03.07
AutoIncrement


14-19304
ZEE
2002-01-21 02:49
2002.03.07
Resource WorkShop


4-19381
Valeron
2002-01-10 05:43
2002.03.07
Перехват значений


1-19255
hex_for_delphi
2002-02-20 06:49
2002.03.07
как управлять мышю





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский