bcb 拷 屏 代 码

    技术2022-05-11  119

    拷 屏 代 码

    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;      


    最新回复(0)