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

Вниз

Иконка чужого окна   Найти похожие ветки 

 
Phoroon~   (2006-05-31 23:29) [0]

Привет всем!
Помогите поймать (маленькую) иконку окна, зная только его HANDLE. Что самое интересное с большой, все выходит.


 
Юрий Зотов ©   (2006-05-31 23:46) [1]

GetClassLong(WindowHandle, GCL_HICONSM)

Возвращает хэндл маленькой иконки окна.


 
Phoroon~   (2006-06-01 08:55) [2]

Да, этот способ я пробовал, но че то нет результатов.
Вот что делаю:

var h: HICON;
    ico: TIcon;
begin
ico:=TIcon.Create;
h:=GetClassLong(WindowHandle, GCL_HICONSM);
ico.Handle:=h;
Image1.Picture.Icon:=ico;
end;

Вроде правильно!


 
Phoroon~   (2006-06-01 08:56) [3]

Но за ответ, спасибо!


 
vl_chel ©   (2006-06-01 09:02) [4]

Наверно правильней будет сделать Image1.Picture.Icon.Assign(ico);
Image1.Picture.Icon.Assign(ico);


 
Юрий Зотов ©   (2006-06-01 10:06) [5]

> vl_chel ©   (01.06.06 09:02) [4]

Загляните в код метода TPicture.SetIcon

> Phoroon~   (01.06.06 08:55) [2]

Все заменяется одной строчкой:
Image1.Picture.Icon.Handle := GetClassLong(WindowHandle, GCL_HICONSM);

И если окно эту самую маленькую иконку вообще имеет (а никто не мешает ему ее и не иметь - впрочем, как и большую), то будет работать.


 
Phoroon~   (2006-06-01 10:33) [6]

Не хочу показаться надоедливым, но что "маленькую" , что "большую" икону
не удоётся получить! Функция возвращет 0.

А кто нибудь проверял эти примеры на практике!


 
Юрий Зотов ©   (2006-06-01 12:42) [7]

> Phoroon~   (01.06.06 10:33) [6]

Создаем новый проект, кладем на форму 2 TImage, в обработчике OnClick формы пишем:

Image1.Picture.Icon.Handle := GetClassLong(Application.Handle, GCL_HICONSM);
Image2.Picture.Icon.Handle := GetClassLong(Application.Handle, GCL_HICON);

Запускаем программу и щелкаем по форме - видим иконки.

Потом в обеих строках убираем слово Application. Снова запускаем программу и щелкаем по форме - НЕ видим иконок.

Потом думаем - с чего бы это? Потом читаем [5] и снова думаем.


 
Phoroon~   (2006-06-01 14:41) [8]

Спасибо!
Че то не дошло сразу!
Вопрос исчерпан.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1151352861
Norfolk
2006-06-27 00:14
2006.07.16
Ограничение на количество символов в TMemo и TEdit


15-1150721661
Crazy monkey
2006-06-19 16:54
2006.07.16
Старая вещчица, но смешеая.


2-1151385233
bajenovv
2006-06-27 09:13
2006.07.16
помогите плиз новичку!!!!


15-1150149793
www.asm-forever.com
2006-06-13 02:03
2006.07.16
Новый форум по ассемблеру ww.asm-forever.com


2-1151498664
UMU
2006-06-28 16:44
2006.07.16
Объединение строк в Rave Reports