Главная страницаОбратная связьКарта сайта

Изменять иконку приложения или окна во время его работы

Изменять иконку приложения или окна достаточно просто - для этого у TApplication и TForm предусмотрено свойство Icon. Смена иконки может вестись обычным присвоением свойству Icon нового значения:


Form1.Icon := Image1.Picture.Icon;

При этом происходит не присвоение указателя (как казалось бы), а копирование данных посредством вызова Assign, который производится в методе TForm.SetIcon

Загрузка иконки из ресурса

Загрузка производится типовым вызовом API:


Form1.Icon.Handle := LoadIcon(hInstance, "имя иконки в ресурсе");

Причем имя в ресурсе желательно писать всегда в верхнем регистре

Все сказанное выше пригодно и для приложения, только в этом случае вместо Form1 выступает Application. Для принудительной перерисовки кнопки приложения в панеле задач можно применить вызов


InvalidateRect(Application.Handle, nil, True);

Пример организации простейшей анимации иконки приложения


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(IconIndex);
  case IconIndex of
    1 : Application.Icon.Assign(Image1.Picture.Icon);
    2 : Application.Icon.Assign(Image2.Picture.Icon);
    else IconIndex := 0;
  end;
  InvalidateRect(Application.Handle, nil, True);
end;

При этом естественно предполагается, что в Image1 и Image2 загружены иконки.


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Изменять иконку приложения или окна во время его работы", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info