Загрузка изображения в окно программы

coyX

подскажите, пожалуйста, нужно чтобы изображение формата .bmp, выбранное через меню программы файл->открыть, отображалось в окне. Опция "открыть" постороена на основе функции GetOpenFileName(). Подкиньте какую-нибудь функцию. Пытался сделать через wm_paint, т.е. задавал в LoadImage вместо имени файла параметр szFile,который присваевается как имя файла функцией GetOpenFileName(), не вышло.. подозреваю что параметр не содержит полного пути к файлу..
6 ответов

coyX

что то я ничего не пойму, особенно
Подкиньте какую-нибудь функцию. Пытался сделать через wm_paint, т.е. задавал в LoadImage вместо имени файла параметр szFile,который присваевается как имя файла функцией GetOpenFileName(), не вышло.. подозреваю что параметр не содержит полного пути к файлу..
Что за язык, и что ты хочешь сделать, поподробней опиши! если просто изображение в окне нарисовать, создай битмап, загрузи картинку и при перерисовке онка рисуй на окне, bitblt - api-шная функция для таких целей!


coyX

язык winapi vc++. ну нужно чтобы файл изображения, выбранный через меню-открыть, отображался затем в окне. т.е. все как в стандартных программах, например в том же Paint, жмем меню-открыть-выбираем файл, он отображается в окне и мы с ним работаем.


coyX

на builder c++ ответ дам, переделать под себя сможешь?


coyX

да, главное хоть что-нибудь наглядное


coyX

Graphics::TBitmap *P= new Graphics::TBitmap;
 
.....................
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{//M->Clear();
if(OpenDialog1->Execute())
 P->LoadFromFile(OpenDialog1->FileName);
}
//---------------------------------------------------------------------------
 
 
 
 
void __fastcall TForm1::FormPaint(TObject *Sender)
{
BitBlt(Canvas->Handle,0,0,P->Width,P->Height,P->Canvas->Handle,0,0,SRCCOPY);
//èëè ГІГ*ГЄ Canvas->Draw(0,0,P);
}


coyX

все спасибо