对话框中的CStatic控件内部绘图问题 我在对话框类的某个函数中获得一个CStatic控件的CDC后,在CStatic内部绘图,但是所绘图形过大,超过CStatic的范围的话就会画在对话框上,有什么办法能让图形过大时,让控件具备滚动功能?或者有其它更好的控件可以实现滚动绘图功能?请大侠指教,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是有个Picture控件可供你使用吗?方法一:想限定绘图区域的话,可以在内存中先绘图。再按CStatic的大小BitBlt()过来,为CStatic添加滚动条然后自己处理滚动条消息和相关的CStatic上的图的滚动逻辑方法二:可用剪裁区域来画图,即指定某个区域是可以被绘图的。在这个区域以外的地方,绘图无效。即被会这个区域的边界给裁掉。只留下在区域内的图形。把从CStatic得到的CDC进行这样的设定剪载区域,那么在这个CDC上的绘图就不会超出这个设定的剪载区域的范围。而且这个也是手动处理滚动逻辑CreateRectRgn ()//创建矩形区域CombineRgn ()//合并两个区域SelectClipRgn ()//设定剪载区域但相比之下在内存中绘声绘图,绘完再粘到对话框上更容易简便些 求助:有关ClassWizard的问题 VC打印 怎样将字符串还原成十六进制编码?或者二进制编码? 求获得指定文件路径的API 怎样实现不规则的CStatic,比如三角形的CStatic? 一个关于“脏矩阵”绘图的问题 如何创建带有check的CListCtrl控件,通过勾选Check来选择Item,谢谢 关于测试问题 请教 线程中无模式对话框显示~~~~~~ 谁有vc视频教材啊:孙鑫老师出的哪个,我找了很久都没找到,想要又没钱买的进来up下 dao在离开vc的环境下抛出异常,有vc环境下正常,如何解决?
方法一:想限定绘图区域的话,可以在内存中先绘图。再按CStatic的大小BitBlt()过来,为CStatic添加滚动条然后自己处理滚动条消息和相关的CStatic上的图的滚动逻辑
方法二:可用剪裁区域来画图,即指定某个区域是可以被绘图的。在这个区域以外的地方,绘图无效。即被会这个区域的边界给裁掉。只留下在区域内的图形。把从CStatic得到的CDC进行这样的设定剪载区域,那么在这个CDC上的绘图就不会超出这个设定的剪载区域的范围。而且这个也是手动处理滚动逻辑
CreateRectRgn ()//创建矩形区域
CombineRgn ()//合并两个区域
SelectClipRgn ()//设定剪载区域
但相比之下在内存中绘声绘图,绘完再粘到对话框上更容易简便些