Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Внизиконка в диспетчере задач Найти похожие ветки
← →
зыбыл ник%) (2007-06-02 15:23) [0]Как отобразить в диспетчере задач НЕ иконку приложения или формы, а какую-либо другую
← →
зыбыл ник%) (2007-06-02 15:53) [1]up
← →
зыбыл ник%) (2007-06-02 15:56) [2]UP!
← →
зыбыл ник%) (2007-06-02 16:30) [3]uup!
← →
DVM © (2007-06-02 16:36) [4]
> Как отобразить в диспетчере задач НЕ иконку приложения или
> формы, а какую-либо другую
Весьма вероятно, что Диспетчер задач, как и панель задач - пришлет Top-level окну приложения сообщение WM_GETICON или WM_QUERYDRAGICON (как один из методов) - на эти сообщения надо соответствующим образом прореагировать.
← →
Savek (2007-06-02 17:59) [5]Некогда вникать, конец рабочего дня (!) возможно это тебе поможет
Рисование на минимизированной иконке
--------------------------------------------------------------------------------
Автор: 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.
Если промахнулся просьба не материть сильно )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c