Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.07.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
6-1142241569
Alex_Delphi
2006-03-13 12:19
2006.07.16
Кто нибуть может подсказать как отсканировать порты в сети


15-1150388909
Alx2
2006-06-15 20:28
2006.07.16
Задачка про вентилятор


2-1151397808
learner
2006-06-27 12:43
2006.07.16
Как можно прервать ожидание функции ConnectNamedPipe ?


15-1150612858
Michael5
2006-06-18 10:40
2006.07.16
Хочу поучаствовать в каком-нибудь проекте!


15-1150125355
Гарри Поттер
2006-06-12 19:15
2006.07.16
Как прочитать покоцаный СД?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский