子窗体图像保存!
我想把子窗体作为一个图像进行保存,使用了GetFormImage()函数,但是子窗体中的文本框文本在保存的图像中没有显示。请问怎么办啊?是不是可以用截屏的办法,怎么用阿?
请各位指教!谢谢!
问题点数:20、回复次数:3Top
1 楼lurel(城市陌生人)回复于 2006-03-15 09:54:46 得分 5
这个需要截屏,利用CreateDC,CreateCompatibleBitmap等等这些Api函数Top
2 楼hdaq(一生何求)回复于 2006-03-15 13:37:57 得分 15
bool __fastcall TForm1::GetScreenBMP(Graphics::TBitmap *Screen_Bmp)
{
HDC CURR_DC;
TCanvas *tmp_canvas;
TRect tmp_RECT;
tmp_canvas = new TCanvas();
CURR_DC = GetWindowDC(Handle);
try
{
tmp_canvas->Handle = CURR_DC;
tmp_RECT = Rect(0,0,Width,Height); //在这里可用子窗体的实际位置和大小替代就可以抓取子窗体的图像
Screen_Bmp->Width = tmp_RECT.Right;
Screen_Bmp->Height = tmp_RECT.Bottom;
Screen_Bmp->Canvas->CopyRect(tmp_RECT,tmp_canvas,tmp_RECT);
}
catch(...)
{
ReleaseDC(0,CURR_DC);
return false;
}
ReleaseDC(0,CURR_DC);
tmp_canvas->Handle=0;
delete tmp_canvas;
return true;
}
//---------------------------------------------------------------------------Top
3 楼wuducookie(永远)回复于 2006-03-16 11:07:51 得分 0
多谢!!!Top




