Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Добавить картинку в imagelist


Автор: DIMONSOFT 22.7.2005, 20:10
сабж smile

Автор: Poseidon 22.7.2005, 20:46
Как добывить? Программно или вручную? Какою картинку?

Вот пример для иконки.
Програмно:
Код
var Ico: TIcon;
begin
Ico:= TIcon.Create;
Ico.LoadFromFile('Путь к иконке');
ImageList1.AddIcon(Ico);
Ico.Free;
end;


Вручную: Кликнуть по компоненту 2 раза, нажать "Добавить", выбрать иконку, нажать "ОК".

Автор: DIMONSOFT 27.7.2005, 22:24
Цитата(Poseidon @ 22.7.2005, 20:46)
Програмно:

Спасибо большое! smile

Автор: Song 29.7.2005, 07:46
Poseidon
try finally забываешь

Автор: Poseidon 29.7.2005, 20:23
Song, зачем? Разве этот код может сгенерировать исключение?

Автор: Quadr0 29.7.2005, 21:46
...

Автор: Poseidon 30.7.2005, 12:43
Код
var Ico: TIcon;
begin
If FileExists('Путь к иконке')
then
  begin
  Ico:= TIcon.Create;
  Ico.LoadFromFile('Путь к иконке');
  ImageList1.AddIcon(Ico);
  Ico.Free;
  end
else ShowMessage('Иконка не найдена');
end;


Не люблю я эти защищенные блоки smile

Автор: Rrader 30.7.2005, 16:30
Цитата

Если файл не будет найден (читай если его нет), то сгенерирует. и Ico.Free выполнен не будет, что повлечёт утечку памяти.

2Poseidon
Если файл - не иконка, то также будет утечка памяти. Так что:
Код

var
  Ico: TIcon;    
begin    
  If FileExists('Путь к иконке') then    
  Begin
  Ico:= TIcon.Create;    
    Try      
      Ico.LoadFromFile('Путь к иконке');    
      ImageList1.AddIcon(Ico);    
    Finally
      Ico.Free;
    End;    
  End    
  else ShowMessage('Иконка не найдена');    
end;

Автор: Akella 1.8.2005, 09:19
Цитата(Song @ 29.7.2005, 07:46)
Poseidon
try finally забываешь

я считаю, это лишнее, т.к. чкловеку нужен пример работы со списком иконок, а что делать с этим примером, он и сам разберётся.

Автор: Song 1.8.2005, 09:50
Цитата(Poseidon @ 29.7.2005, 21:23)
Song, зачем? Разве этот код может сгенерировать исключение?

Исключение может сгенерить что угодно. Даже дельфийский VCL при неблагоприятных условиях (например, при нехватке ресурсных идентификаторов или достаточного количества памяти).
Ты должен в любом случае гарантированно разрушить свой объект, даже если тебе кажется что здесь он будет разрушен 100%.
Добавлено @ 09:51
Цитата(dsergey @ 1.8.2005, 10:19)
я считаю, это лишнее, т.к. чкловеку нужен пример работы со списком иконок, а что делать с этим примером, он и сам разберётся.

Пример должен быть правильным smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)