Главная страница
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
9-91971
Cura
2003-02-25 19:27
2003.08.28
DXDraw Transparent


3-92029
Balan S.
2003-08-01 14:29
2003.08.28
Все ли впорядке с IBDataSet в Ве или просто я такой? Объясните!!!


14-92210
Knight
2003-08-08 12:03
2003.08.28
Люди, зацените наклейку на машину... :)


3-92051
Hollywood
2003-08-06 13:36
2003.08.28
Хелп: как работать с параметрами в runtime


14-92248
aa5E1
2003-08-09 00:51
2003.08.28
У меня гонит Delphi палитра компонент... все значки перепутались.