急求助!关于VC++中设备环境绘图的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:44:32
如果您能帮我解决这个问题 真是太感谢了 一定追加分数
我把一张图片设置成一个滚动视类的背景,图片很大要用滚动条才可浏览全部,我想在图片中进行绘点,不知道怎么以图片左上角为坐标原点,还有就是来回拉动滚动条时绘制的点不消失,跟随图片在动,多谢!!
我说的意思是 以图片为设备环境绘图 而不是以整个屏幕为设备环境

如果你的图覆盖了整个View区域,那么使用ScreenToClient()或ClientToScreen()函数就可以将坐标原点设置为图形原点。
如果想要绘图不消失,记录绘图的点,然后在OnBackScreen(记不得叫什么名字了,大概是这个样子,现在手边没有VC,不好意思)函数中进行重绘就可以了。
详细可以看看孙鑫的视频,上面有重绘的相关介绍。

如果你的类继承于CScrollView
只需要调用SetScrollSizes(MM_TEXT, pDoc->m_Size);
然后在OnDraw函数中实现具体的绘制代码
CScrollView类会自动处理滚动相关的过程