我的静态控件中有一张图片。我想实现在次图片上面通过鼠标拖动出一个矩形框(要有鼠标拖出矩形框的效果),然后把这个矩形框范围内的图像保存到一个文件中。
我从静态类中继承了一个新类,并在创建的时候指定了接受通知的标志。
然后再鼠标移动的消息中实现拖画矩形的效果,但我创建的透明画刷和白色画笔都不好用。在画矩形之前已经将他们选进设备描述表了。拖出来的还是一个黑色画笔并且是白色画刷的矩形。还有这个矩形范围的内容我想保存到图片中如何实现呢?
我目前写的是用CImage这个类的save方法,就是把静态控件中的CDC的BitBlt方法往CImage的CDC中画然后保存的。但不好用。
请问如何实现这些功能。谢谢了。

解决方案 »

  1.   

    单看你这么描述很难分析问题
    建议:
    1、这类自定义控件最好从CWnd直接派生,CStatic有静态属性和处理,如果我们不需要这些属性它们就会对我们的编程造成很多麻烦
    2、画图的操作最好都集中在控件的OnPaint函数中
    3、CImage的save是很方便的,应该是你的CImage没有处理好