|
일반적인 경우, 화면을 캡쳐할려면,
void __fastcall GetCRT (Graphics::TBitmap *bmp, TRect& area, int width, int height)
{
bmp->Width = width;
bmp->Height = height;
int col_num = GetCRTColorBit ();
if ( col_num == 4 ) bmp->PixelFormat = pf4bit;
else if ( col_num >= 16 ) bmp->PixelFormat = pf16bit;
else bmp->PixelFormat = pf8bit;
HWND desktop = GetDesktopWindow ();
HDC dt_dc = GetDC (desktop);
SetStretchBltMode (bmp->Canvas->Handle, STRETCH_HALFTONE);
StretchBlt (bmp->Canvas->Handle, 0,0, width, height,
dt_dc, area.Left, area.Top, area.Right - area.Left, area.Bottom - area.Top, SRCCOPY);
ReleaseDC (desktop, dt_dc);
}
이렇게 하면 되는데, 메뉴는 이렇게 해서 그림으로 저장할 수가 없네요.
아마도 윈도우핸들 (HWND) 때문인 것 같기도 한데,
메뉴를 그림으로 캡쳐할려면, 어떻게 해야 하나요 ?
|