解决方案 »
- SetScrollSizes调用错误 没有定义
- 求教列表控件的使用
- 让FlexGrid控件中满足不同条件的纪录变颜色,还有在使用命令移动里面的纪录的时候,让变颜色,好让人知道当前一定到哪里,不使用鼠标
- 怎样得到当前用户权限(Admistrator, restricted or guest)
- 求助:关于VC打印的问题?
- list control控件中遇到的问题?万分感激!!!
- 如何在程序里实现*.dll的注册?各位大虾帮忙。
- 高手帮忙看看错在哪里,我调试中出现两个问题
- CSDN服务器的响应越来越慢了,如果再不想办法解决,这样下去,迟早有一天,这里会人去楼空
- vs2020功能区代码中文详解
- Win32的StretchBlt()和BitBlt()哪个块?
- ATL组件注册成系统服务以后接口无法调用
想想:timer的周期10ms,如果在10ms时间内绘制任务无法完成,新的定时中断又进来了,此种情况累积多了会怎样?
给你个建议:把一些固定不变的背景内容(刻度线、箭头、位图等等)放到OnPaint()或OnDraw()函数里面去画,这样仅在必要的时候启动自动重绘。另外,即使是画动态的曲线(MoveTo/LineTo),也没必要每次都在Timer响应函数里面全部重绘,每次只需绘制新到的Point,全部重绘也放到OnPaint()或OnDraw()函数里面实现。
-------------------
HBITMAP hOldBitmp = (HBITMAP)pMemDC.SelectObject(&membitmap);
这些返回值只有需要pMemDC.SelectObject(hOldBitmap);
否则你后面的membitmap.DeleteObject();这个操作是失败的,你可以自己Debug下调试一下,看看返回值是什么
不用
Crect rc;
GeDlgItem(IDC_drawplace)->GetClientRect(rc);
GeDlgItem(IDC_drawplace)->INvalidateRect(rc);
但是我按这样写的话,运行时出错了,绘图框是空白的。没有绘制出图形来
AFXWIN_INLINE BOOL CBitmap::CreateCompatibleBitmap(CDC* pDC, int nWidth, int nHeight)
{ return Attach(::CreateCompatibleBitmap(pDC->m_hDC, nWidth, nHeight)); }
弹出错误提示框说:0x535aaf54(mfc100d.dll)有未经处理的异常,0xc0000005:读取位置0x00000004时发生访问冲突。
不注释也可以,把他放在你的处理函数之前调用就可以了