Borland C++ Builder FAQ - Преобразование *.ico файла в *.bmp

ОГЛАВЛЕНИЕ


Преобразование *.ico файла в *.bmp

// На форме разместите TImage (Image1), TOpenDialog (OpenDialog1) и  TButton (Button1). Напишите следующий обработчик события OnClick  кнопки:
void __fastcall TForm1::Button1Click(TObject  *Sender)
{
    AnsiString as;
    TIcon *pi = new  TIcon();
    OpenDialog1->DefaultExt = ".ICO";
    OpenDialog1->Filter =  "icons (*.ico)|*.ICO";
    OpenDialog1->Options << ofOverwritePrompt  << ofFileMustExist << ofHideReadOnly;
    if  (OpenDialog1->Execute())
    {
        pi->LoadFromFile(OpenDialog1->FileName);
        as  = ChangeFileExt(OpenDialog1->FileName,".BMP");
        Image1->Width =  Icon->Width;
        Image1->Height =  Icon->Height;
        Image1->Canvas->Draw(0, 0,  Icon);
        Image1->Picture->SaveToFile(as);
    }
    delete  pi;
}