Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ExtractAssociatedIcon [D6, Win2k]


Slava ©   (2002-01-11 11:51:00) 

var
W: Word;
Pic: TPicture;
FN: String;
begin
W := 0;
Pic := TPicture.Create;
FN := "C:\Progs\Example\extricon\Project1.exe"; // не работает
FN := Application.ExeName; // работает
Pic.Icon.Handle := ExtractAssociatedIcon(HInstance, PChar(FN), W);
Canvas.Draw(10,10, Pic.Graphic);
Pic.Free;
end;

Как правильно пользоваться функцией ExtractAssociatedIcon?


Slava   (2002-01-15 06:23:00) [1]

> TonnyS
Уже отправил на мыло.
Сорри за спам, в первом письме нет аттача.


TonnyS   (2002-01-14 13:46:00) [2]

>Если st1 := Application.ExeName или st1 := ParamStr(0), то все ОК.

>В остальных случаях h = 0 :(

а вообще у меня подозрение, что неправильные параметры передаются, например, W (номер иконки) или имя файла некорректно преобразуется в PChar.


TonnyS   (2002-01-14 13:27:00) [3]

странно вообще-то, кинь на мыло - вышлю всю программу, там активно используется это ExtractAssociatedIcon.


Slava   (2002-01-14 08:18:00) [4]

Вот, блин фигню написал! Это после празднования СНГ...

Должно быть так:

Я имею ввиду:
Если st1 := Application.ExeNameили st1 := ParamStr(0), то все ОК.

В остальных случаях h = 0 :(


Slava   (2002-01-14 08:16:00) [5]

Я имею ввиду:
Если st1 <> Application.ExeNameили st1 <> ParamStr(0), то все ОК.

В остальных случаях h = 0:(


Slava   (2002-01-14 08:13:00) [6]

> TonnyS

В том-то и дело, что h = 0,
если st1 <> Application.ExeName

Даже, если st1 присвоить тоже самое имя exe-файла, которое содержиться в Application.ExeName


TonnyS   (2002-01-11 17:31:00) [7]

var
ico : TIcon;
h : HIcon;
w : word;
st1 : string;
begin
st1 := "файл с иконкой";
ico := TIcon.Create;
h := ExtractAssociatedIcon(hInstance,PChar(st1),w);
ico.Handle := h;
...
ico.free;
end;


вроде так.


Наверх

Титульная страница Поиск, карта сайта Написать письмо