|
拷 屏 代 码
TCanvas *dtCanvas = new TCanvas; dtCanvas->Handle=GetDC(0);
Graphics::TBitmap *bitmap=new Graphics::TBitmap; bitmap->Width=Width;
bitmap->Height=Height;
int nColors=GetDeviceCaps(Canvas->Handle,SIZEPALETTE); LOGPALETTE*
logPal=(LOGPALETTE*)new
Byte[sizeof(LOGPALETTE)+(nColors-1)*sizeof(PALETTEENTRY)];
logPal->palVersion=0x300; logPal->palNumEntries=(Word)nColors;
GetSystemPaletteEntries(Canvas->Handle,0,nColors,logPal->palPalEntry);
bitmap->Palette=CreatePalette(logPal); delete[] logPal;
TRect src=BoundsRect; TRect dest=Rect(0,0,Width,Height);
bitmap->Canvas->CopyRect(dest,dtCanvas,src);
bitmap->SaveToFile("Screen.bmp");
delete bitmap; delete dtCanvas;
|