Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



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

А мне постоянно хочется передвинуть иконки телеканалов подалье в игол, чтобы не мешались :))) а иногда floating для них выключить.

Изменять иконку приложения или окна достаточно просто - для этого у 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 загружены иконки.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS