截屏
OnInitDialog中:
// TODO: Add extra initialization here
CDC dc;
CBitmap *pBmp = NULL;
dc.CreateDC("DISPLAY", NULL, NULL, NULL);
pMemDC = new CDC;
if (!pMemDC)
return FALSE;
pMemDC->CreateCompatibleDC(&dc);
pBmp = new CBitmap;
if (!pBmp)
{
return FALSE;
}
pBmp->CreateCompatibleBitmap(&dc, 1024, 768);
pMemDC->SelectObject(pBmp);
ShowWindow(SW_HIDE);
pMemDC->BitBlt(0, 0, 1024, 768, &dc, 0, 0, SRCCOPY);
dc.DeleteDC();
pBmp->DeleteObject();
delete pBmp;
OnPaint中:
CPaintDC dc(this);
dc.BitBlt(0,0,1024, 768, pMemDC, 0, 0, SRCCOPY);
相关代码:
1.只想在窗体的某个静态框区域内响应鼠标消息,不知道clipcursor能不能实现
2.在这个区域内按紧鼠标,划出一个矩形区域,得到按紧时的坐标和放下时的坐标,最好拖动的时候能有痕迹,怎么实现?
方法一:
CRectTracker m_RectTracker;
CDC *pDC = GetDC(); 
m_RectTracker.DrawTrackerRect(&ImageRect,this,pDC,this);
ReleaseDC(pDC);
方法二
CDC::DrawFocusRect
相关参考:
http://www.xiaozhou.net/cooldog/article.asp?id=85
QQ 静态截图程序模拟实现


浙公网安备 33010602011771号