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

Рисование на минимизированной иконке Автор: 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.

http://delphiworld.narod.ru/ DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...