我建立的工程是单文档视图结构,在DOC类中我定义了一个函数OnFileOpen,它实现了打开一个位图文件,在该函数中我用malloc函数在内存中开辟了一段存储空间存放位图图像数据,并返回一个指向这段存储区的BYTE * 指针。在View类中的OnPaint函数中用SetDIBitsToDevice实现显示打开的位图,OnPaint函数用Invalidate(false);语句结束,然后我又在View类中定义了一个改变图像象素值的函数,修改是根据那个BYTE *指针对那段存储空间中某些象素值进行修改,在该函数中没有用Invalidate和UpdateDate,但是只要该函数执行,刚才显示的图像马上发生变化。程序执行顺序是:打开位图图像并显示后点击菜单执行修改象素值函数,我并没有触发一个消息让视图区域重绘,我不明白为什么图形会发生变化?
希望高手们能给一些指教,多谢了!
希望高手们能给一些指教,多谢了!
看从那里进OnPaint的?