关于用内存DC实现绘图的记录!
我在做一个图形实时显示的程序,对话框编程!
由于事先并不知道数据有多少,绘完后,前面绘的图形可能在控件外而丢失
因此想加一个Scroll控件,拖动它可以查看前面的图形!
我现在的想法是:利用内存DC建立一个较大的CBitmap
将所有曲线绘在CBitmap上,然后根据滑块位置,选择Bitmap的位置,BltBit到dc上
注意下,使用的是对话框编程,不是单文档,不能用CScrollView;
这个想法能实现吗?不能的话有其它的实现方法吗?
CDC m_MemDCMask;
CBitmap m_BitmapMask;
m_MemDCMask.CreateCompatibleDC(GetDC());//创建内存dc
m_BitmapMask.CreateCompatibleBitmap(&m_MemDCMask,100,100);
m_MemDCMask.SelectObject(&m_BitmapMask);
程序能编译通过,但一运行就Error
好像是传给CreateCompatibleDC()的pDC的问题
CPaintDC dc(this);
m_MemDCMask.CreateCompatibleDC(&dc);也不行
改了其它很多方法,用NULL就可以
但好像此时只能画黑白图
郁闷了好几天了,求高手解答啊!!