回 帖 发 新 帖 刷新版面

主题:MFC 串行化进行文件操作产生的问题

这是我自己写的一个简单的画图的程序。
上传的文件主要包括资源文件和源文件。

1.运行后,在进行文件的新建,保存,打开等动作的时候产生错误,请高手帮忙解答!

2.这是一个包含滚动条的窗口,它要进行逻辑坐标和物理坐标的转换,其中主要集中在OnLButtonDown,OnMouseMove,OnLButtonUp这3个函数中。请问什么时候需要进行坐标的转换。

3.在OnLButtonUp这个函数中OnPrepareDC(&dc);LogicalCoor(&point);为什么连着写了这2个,意思是什么。

4.在OnMouseMove函数中使用了dc.SetROP2(R2_NOT); //设置绘图模式
        shape->draw(dc,width,lcolor,fcolor);//画出形状对象
        shape->ePoint=point;
        shape->draw(dc,width,lcolor,fcolor);//再画出形状对象
    为什么在OnLButtonUp中,将其注释掉了//shape->draw(dc,width,lcolor,fcolor);
这里是如何确定最终的图形的。我不能理解,因为它的绘图模式是R2_NOT,是绘图动作与屏幕的底色相反。在mousemove中连画了2次就造成图形被清除的效果,为什么在lbuttonup中却注释掉那个画图的动作。

回复列表 (共1个回复)

沙发

看看孙鑫老师的VC课程吧!
在OnMouseMove函数中使用了dc.SetROP2(R2_NOT); //设置绘图模式

这个不懂,什么是绘图模式!

我来回复

您尚未登录,请登录后再回复。点此登录或注册