![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;
вроде так.