以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]合并单元格内绘制问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94843)

--  作者:pcxjxjhkw
--  发布时间:2017/1/3 18:36:00
--  [求助]合并单元格内绘制问题

合并单元格内绘制一图标32*32,如何使其位置在垂直居中

 


--  作者:有点色
--  发布时间:2017/1/3 18:41:00
--  

直接给单元格设置图标

 

Dim g = Tables("表A").grid
Dim cs = g.GetCellRange(3, 3)
cs.Image = Getimage("d:\\test.Ico")
If cs.style Is Nothing Then
    cs.style = g.Styles.add("test")
End If
cs.Style.ImageAlign = 1


--  作者:pcxjxjhkw
--  发布时间:2017/1/3 19:12:00
--  
以下是引用有点色在2017/1/3 18:41:00的发言:

直接给单元格设置图标

 

Dim g = Tables("表A").grid
Dim cs = g.GetCellRange(3, 3)
cs.Image = Getimage("d:\\test.Ico")
If cs.style Is Nothing Then
    cs.style = g.Styles.add("test")
End If
cs.Style.ImageAlign = 1

我把问题没描述仔细。

 

一表,要切换合并模式和正常模式。其中有列,绘制了32*32图标,在切换时要使图标始终垂直居中。

 

[此贴子已经被作者于2017/1/3 19:12:30编辑过]

--  作者:有点蓝
--  发布时间:2017/1/3 21:37:00
--  
没有办法获取合并单元格
--  作者:有点色
--  发布时间:2017/1/4 10:46:00
--  

 

[此贴子已经被作者于2017/1/4 11:01:38编辑过]

--  作者:pcxjxjhkw
--  发布时间:2017/1/4 10:56:00
--  
以下是引用有点色在2017/1/4 10:46:00的发言:
 下载信息  [文件大小:284.0 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:绘制单元格按钮.foxdb

谢,可否转为商业版?


--  作者:有点色
--  发布时间:2017/1/4 11:02:00
--  

你是用drawcell事件绘制的?那么绘制的时候,控制好坐标不就好了?

 

 

If e.Col.name= "删" Then
    e.StartDraw
    Dim count As Integer = e.Table.DataTable.Compute("count(_Identify)", "删 = \'" & e.text & "\'")
    e.Graphics.DrawImage(delimg1, e.x + 3,e.y + 3 + cint((20*count-delimg1.height)/2)) \'绘制第一个图标
    e.EndDraw
End If