如何用Win32 API在图像中某点显示局部图像 并且接着恢复,100分相送

lian98 2003-10-15 09:40:58
在WM_PAINT中
BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rs);
hbmp =LoadBitmap(glhInst,IDB_BITMAP1);
GetObject (hbmp,sizeof(BITMAP), &bmppos);
hdc = GetDC (hWnd);
hdcSrc = CreateCompatibleDC (hdc);
hbmOld = SelectObject (hdcSrc, hbmp);
if (!BitBlt (hdc, 0, 0, bmppos.bmWidth, bmppos.bmHeight, hdcSrc, 0, 0, SRCCOPY))
{
MessageBeep(0);
}
SelectObject (hdcSrc, hbmOld);
DeleteDC (hdcSrc);
DeleteObject(hbmp);

EndPaint(hWnd,&ps);

显示位图

当mouse在某点(64,377)WM_LBUTTONDOWN 中load 一小位图成功

但是要在WM_LBUTTONUP中恢复原来样子,当然可用InvalidateRect触发WM_PAINT来实现
我想只用更新局部来实现,各位高手有什么办法?最好有代码

我想在WM_LBUTTONDOWN 中load 一小位图前先截取原图象,保存在一位图,在WM_LBUTTONUP中再load进,但不知怎么实现?










...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanticist 2003-10-16
  • 打赏
  • 举报
回复
点击鼠标之前CDC::SaveDC
WM_LBUTTONUP中CDC::RestoreDC
孤必有邻 2003-10-16
  • 打赏
  • 举报
回复
这里的讨论中有个例子,关于移动棋子的,原理一样:
http://www.vccode.com/showthread.php?s=&threadid=4828&highlight=%C6%E5%D7%D3

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧