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

Вниз

Вытащить иконку   Найти похожие ветки 

 
_Stas_ ©   (2003-06-12 13:22) [0]

Как вытащить иконку окна в TIcon? или сохранить в *.ico ?


 
Spawn ©   (2003-06-12 13:53) [1]

Иконку можно получить при помощи ExtractIcon(Ex).


 
_Stas_ ©   (2003-06-12 13:56) [2]

да, но она возвращает HICON...


 
DVM ©   (2003-06-12 13:57) [3]


> Spawn © ( Ex)

> Spawn ©


> вытащить иконку окна в TIcon?

Причем здесь ExtractIcon(Ex)?
Правильный ответ WM_GETICON.


 
DVM ©   (2003-06-12 13:59) [4]


> _Stas_ © (12.06.03 13:56)
> да, но она возвращает HICON...

MyIcon:=TIcon.Create;
try
hIcon:=....
MyIcon.Handle:=hIcon;
....
DestroyIcon(hIcon); // возможно не понадобится
finally
MyIcon.free;
end;


 
Spawn ©   (2003-06-12 14:01) [5]

ну дак какая разница откуда ее брать? Или сдесь именно из процесса нужно? Тогда правильный ответ у DVM :)


 
DVM ©   (2003-06-12 14:08) [6]


> ну дак какая разница откуда ее брать?

Разница большая. ExtractIcon извлекает иконку из файла. Если есть окно и надо получить его иконку, то, чтобы воспользоваться ExtractIcon надо 1. Определить к какому процессу относится окно, 2. Определить имя файла процесса. 3. Определить номер иконки в этом файле (это скорее невозможно).

WM_GETICON + WM_QUERYDRAGICON позволяют получить иконку непосредственно из окна, т.е. минуя шаги 1-3. В вопросе было слово ОКНО.



 
_Stas_ ©   (2003-06-12 17:28) [7]

DVM, спасибо, все работает:)



Страницы: 1 вся ветка

Текущий архив: 2003.08.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
4-92296
tiam
2003-06-26 08:12
2003.08.28
Состояние чужого процесса


1-92106
VID
2003-08-14 19:29
2003.08.28
Реализация OLE Drag&Drop


3-92062
Dimedrol
2003-08-06 13:41
2003.08.28
Принудительный вызов DB.LoginPromt


3-92040
AM$
2003-08-06 10:28
2003.08.28
Вопрос по Database Desktop


1-92115
Skier
2003-08-15 15:00
2003.08.28
Уничтожение поле класса