/*
SaveToFile, TIcon, Height, Width, Canvas, ChangeFileExt example
This example converts a specified icon to a bitmap. To run this example, add an image, a button, and an Open dialog to a form. Name the button ConvertIcon2Bitmap, and add the following code as its OnClick event handler.
*/ 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  OpenDialog1->DefaultExt = ".ICO";
  OpenDialog1->Filter = "icons (*.ico)|*.ICO";
  OpenDialog1->Options << ofOverwritePrompt << ofFileMustExist << ofHideReadOnly;
  if (OpenDialog1->Execute())
  {
    TIcon *pi = new TIcon();
    try
    {
      AnsiString as;
      pi->LoadFromFile(OpenDialog1->FileName);
      as = ChangeFileExt(OpenDialog1->FileName,".BMP");
      Image1->Width = pi->Width;
      Image1->Height = pi->Height;
      Image1->Canvas->Draw(0,0,pi);
      Image1->Picture->SaveToFile(as);
      ShowMessage(OpenDialog1->FileName + " Saved to " + as);
    }
    __finally
    {
      delete pi;
    }
  }
} 
