Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

иконка в диспетчере задач   Найти похожие ветки 

 
зыбыл ник%)   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
11-1162999391
TAHKEP
2006-11-08 18:23
2007.06.24
SelStart всегда равен 0 в KOLListBox


2-1180677346
Kolan
2007-06-01 09:55
2007.06.24
Объясните, я что отчет могу только для бд сделать?


2-1180696532
koha
2007-06-01 15:15
2007.06.24
Получить из ProcessID ProcessHandle?


2-1180708978
FireMan_Alexey
2007-06-01 18:42
2007.06.24
Kak uznat MAC adres udalennogo COMPA?


2-1180700096
Kolan
2007-06-01 16:14
2007.06.24
Программа что-то делает, как попасть на код где это происходить.