Foxtable(狐表)用户栏目专家坐堂 → [求助]合并单元格内绘制问题


  共有2087人关注过本帖树形打印复制链接

主题:[求助]合并单元格内绘制问题

帅哥哟,离线,有人找我吗?
pcxjxjhkw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
[求助]合并单元格内绘制问题  发帖心情 Post By:2017/1/3 18:36:00 [只看该作者]

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110623 积分:563017 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/3 21:37:00 [只看该作者]

没有办法获取合并单元格

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/4 10:46:00 [只看该作者]

 

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

 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/1/4 10:56:00 [只看该作者]

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

谢,可否转为商业版?


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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


 回到顶部