Здравствуйте, alexnmsk, Вы писали:
A>Судя по всему WinApi класса TIcon не понимает. Хотя если поможете решить задачу средствами Api буду оч признателен. В принципе тремуется извлечь определенную иконку из файла (dll, ico и т.д.), как большую так и маленькую и каждую сохранить в файле ico без потери качества.
A>Такое возможно?
Вполне
1. Читаем доку по ExtractIconEx...
2. Извлекаем иконки из файла с помощью этой функции.
3. Создаем экземпляр класса TIcon.
4. Делаем следующее:
TIcon* icon = new TIcon;
DWORD CountIcons = (DWORD) ExtractIconEx("C:\\Test.exe",-1,NULL,NULL,0);
if(CountIcons != NULL)
{
HICON* iconLarge = new HICON[CountIcons];
HICON* iconSmall = new HICON[CountIcons];
if(ExtractIconEx("C:\\Test.txt",0, iconLarge, iconSmall,CountIcons))
{
String sFileName = "C:\\";
for(int i=0;i<CountIcons;i++)
{
icon->Handle = iconLarge[i];
icon->SaveToFile(sFileName + "large" + IntToStr(i) + ".ico");
DestroyIcon(iconLarge[i]);
icon->Handle = iconSmall[i];
icon->SaveToFile(sFileName + "small" + IntToStr(i) + ".ico");
DestroyIcon(iconSmall[i]);
} // for
} // if
delete [] iconLarge;
delete [] iconSmall;
} // if
delete icon;
В общем, где-то так... Код не компилил и не проверял — писал навскидку... Так чта все равно TFM на всякий случай...