一个电力系统的监控平台,上面画有实时绘制的元器件,也有从外部添加的位图等,现在问题就是当我切换到位图很多的画面拷机时,第二天来监控程序出现无法刷新,就是那些位图根本刷不出来了,而且系统运行缓慢,其他程序的界面也刷的很慢的样子,不过这时我程序的CPU和内存占用也并不是很大,系统总的空闲资源也还比较多。以下是我绘图的代码,大家帮我看看是不是有什么问题,或者这种问题出在什么地方,谢谢!(item_info->Text保存的是每个图片的文件路径,下面的代码是在OnDraw()里面的) IPicture *m_picture;
OLE_YSIZE_HIMETRIC m_height;
OLE_XSIZE_HIMETRIC m_width;
CFile m_file(item_info->Text,CFile::modeRead ); DWORD m_filelen = m_file.GetLength();
HGLOBAL m_hglobal = GlobalAlloc(GMEM_MOVEABLE,m_filelen);
LPVOID pvdata = NULL;
pvdata = GlobalLock(m_hglobal);
m_file.ReadHuge(pvdata,m_filelen);
IStream* m_stream;
GlobalUnlock(m_hglobal);
CreateStreamOnHGlobal(m_hglobal,TRUE,&m_stream); Image image(m_stream);
Graphics gr(pDC->m_hDC);
gr.DrawImage(&image, rect.left, rect.top, rect.Width(),rect.Height()); m_stream->Release();
m_picture->Release();
OLE_YSIZE_HIMETRIC m_height;
OLE_XSIZE_HIMETRIC m_width;
CFile m_file(item_info->Text,CFile::modeRead ); DWORD m_filelen = m_file.GetLength();
HGLOBAL m_hglobal = GlobalAlloc(GMEM_MOVEABLE,m_filelen);
LPVOID pvdata = NULL;
pvdata = GlobalLock(m_hglobal);
m_file.ReadHuge(pvdata,m_filelen);
IStream* m_stream;
GlobalUnlock(m_hglobal);
CreateStreamOnHGlobal(m_hglobal,TRUE,&m_stream); Image image(m_stream);
Graphics gr(pDC->m_hDC);
gr.DrawImage(&image, rect.left, rect.top, rect.Width(),rect.Height()); m_stream->Release();
m_picture->Release();
解决方案 »
- 关于报表初始化的问题
- 程序到底出了什么问题,为什么没有这个数据类型
- 请问 Critical Section、Event 和 Mutex 哪个效率比较高?
- 请问怎样新建文件夹?
- 请问相似于帮助的电子书如何制作?
- 使用有静态成员变量的类,编译出现LNK2005多重定义错误,何解?
- 如何把Style为Popup,Border为Dialog Frame的对话框加到控制条里。
- SMTP用协议可以传输附件是声音文件的邮件吗?下面的MSDN说的uuencode是什么格式?
- Crystal Report in VC++
- 有一个200*200的矩阵 怎么用VC++ 转换生成 一个图像呢
- 关于滚动条的一个问题
- 关于编辑框控件?
CFile m_file(item_info->Text,CFile::modeRead | CFile::typeBinary );
第二:你代码不贴全,看起来前后不对应的,只有自己检查看了,创建的对象要销毁,Release之后要赋值为0。