以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  在单元格绘图  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68983)

--  作者:fanjq8686
--  发布时间:2015/5/28 16:02:00
--  在单元格绘图

请教老师:

在单元格中直接绘图如何在绘第2个图前擦掉第1个图?


--  作者:Bin
--  发布时间:2015/5/28 16:07:00
--  
http://www.foxtable.com/help/topics/1493.htm

直接覆盖

--  作者:fanjq8686
--  发布时间:2015/5/28 16:15:00
--  

覆盖后可以看到前面绘的图啊!


--  作者:fanjq8686
--  发布时间:2015/5/28 16:16:00
--  
几个图叠加在一起的,能看到。
--  作者:fanjq8686
--  发布时间:2015/5/28 16:21:00
--  
有办法处理吗?
--  作者:大红袍
--  发布时间:2015/5/28 16:22:00
--  
 例子发上来。
--  作者:Bin
--  发布时间:2015/5/28 16:24:00
--  
e.Graphics.Clear(Color.White)   先全绘制清楚为白色

或者绘制一张空白图..再绘制你的

--  作者:fanjq8686
--  发布时间:2015/5/28 16:25:00
--  

If e.Col.name= "报告编号" Then
    If e.Row.IsNull("检验计划下达日期") = False \'且该列已经输入内容
        e.StartDraw
        e.Graphics.DrawImage(GetImage("DOT.GIF"), e.x + 161,e.y + 1)
        e.EndDraw
    End If
End If
If e.Col.name= "报告编号" Then
    If e.Row.IsNull("检验开始日期") = False \'且该列已经输入内容
        e.StartDraw
        e.Graphics.DrawImage(GetImage("322.GIF"), e.x + 165,e.y + 4)
        e.EndDraw
    End If
End If

If e.Col.name= "报告编号" Then
    If e.Row.IsNull("检验记录批准日期") = False \'且该列已经输入内容
        e.StartDraw
        e.Graphics.DrawImage(GetImage("POINT1.GIF"), e.x + 163,e.y + 1)
        e.EndDraw
    End If
End If

If e.Col.name= "报告编号" Then
    If e.Row.IsNull("检验报告批准日期") = False \'且该列已经输入内容
        e.StartDraw
        e.Graphics.DrawImage(GetImage("POINT4.GIF"), e.x + 163,e.y + 1)
        e.EndDraw
    End If
End If


--  作者:大红袍
--  发布时间:2015/5/28 16:31:00
--  

 测试了一下,不需要擦除的,如果需要刷新,就直接运行一句代码

 

Tables("表A").Refresh


--  作者:fanjq8686
--  发布时间:2015/5/28 16:34:00
--  

好的