Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Рисование на минимизированной иконке

Delphi , Графика и Игры , ICO

Рисование на минимизированной иконке


 

Автор: Nick Hodges (Monterey, CA)

Есть ли у кого пример рисования на иконке минимизированного приложения с помощью Delphi?

Когда Delphi-приложение минимизировано, иконка, которая вы видите - реальное главное окно, объект TApplication, поэтому вам необходимо использовать переменную Application. Таким образом, чтобы удостовериться что приложение минимизировано, вызовите IsIconic(Application.Handle). Если функция возвратит True, значит так оно и есть. Для рисования на иконке создайте обработчик события Application.OnMessage. Здесь вы можете проверять наличие сообщения WM_Paint и при его нахождении отрисовывать иконку. Это должно выглядеть приблизительно так:


...
{ private declarations }
  procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean);
...

procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean);
var DC: hDC; PS: TPaintStuff; begin if (Msg.Message = WM_PAINT) and IsIconic(Application.Handle) then begin DC := BeginPaint(Application.Handle, PS); ...осуществляем отрисовку с помощью вызовов Windows GDI... EndPaint(Application.Handle, PS); Handled := True;
end;
end;

procedure TForm1.OnCreate(Sender: TObject);
begin Application.OnMessage := AppOnMessage; end;

 

Код создан на основе алгоритма Neil Rubenking.

Данная статья описывает способ рисования на миниатюрной иконке приложения в Delphi, используя обработчик события Application.OnMessage и переменную IsIconic для проверки состояния приложения.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: ICO ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-24 19:57:09/0.0051579475402832/1