Foxtable(狐表)用户栏目专家坐堂 → [求助] 要实现单元格直接显示图片,鼠标进入弹出大图,这段代码怎么总是出错呢?


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

主题:[求助] 要实现单元格直接显示图片,鼠标进入弹出大图,这段代码怎么总是出错呢?

美女呀,离线,留言给我吧!
龙潭春早
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
[求助] 要实现单元格直接显示图片,鼠标进入弹出大图,这段代码怎么总是出错呢?  发帖心情 Post By:2019/7/21 15:53:00 [显示全部帖子]

一、问题

设置了远程文件的图片扩展列“测试FTP”和 FTP,已经能够上传图片,使用正常

现在希望在该列实现单元格直接显示图片,并且鼠标进入时弹出大图。

参照此前论坛上甜老师给他人的一个回帖,设置了以下的代码,但是总是报错,为什么呢?

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(1).jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(2).jpg
图片点击可在新窗口打开查看

二、弹出窗口的设置

       1)窗口名称:测试 FTP 图片伸缩

       2)窗口内设置了控件:PictureBox1

       3)窗口AfterLoad事件代码
e.Form.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None

三、表事件代码

1、StartEdit事件

Dim frm = Forms("测试 FTP 图片伸缩")
If frm.opened Then
    frm.baseform.left = -1000
    frm.baseform.Top = -1000
End If

2、Drawcell事件 —— 总是在这个事件上报错!

If e.Col.name = "测试FTP" Then
    e.StartDraw
    If e.Row("测试FTP") > ""  Then
        Dim Ls = e.Row.DataRow.Lines("测试FTP")
        e.Graphics.DrawImage(getimage(projectPath & "RemoteFiles\测试\" & Ls(0)), e.x + 3,e.y + 3, 50, 50)  ' 绘制第一个图标
    End If
    e.text = ""
    e.EndDraw
End If

3、MouseEnterCell事件

Dim frm = Forms("测试 FTP 图片伸缩")
If frm.opened = False Then
    frm.open
End If
If e.Col.name = "测试FTP" AndAlso e.Row("测试FTP") > "" Then
    frm.baseform.left = System.Windows.Forms.Cursor.Current.Position.X + 5
    frm.baseform.Top = System.Windows.Forms.Cursor.Current.Position.Y + 5
    e.Table.Focus
        Dim Ls = e.Row.DataRow.Lines("测试FTP")
        'output.show(Ls(0))
    frm.controls("picturebox1").image = getimage(projectPath & "RemoteFiles\测试\" & Ls(0))
Else
    frm.baseform.left = -1000
    frm.baseform.Top = -1000
End If

4、MouseLeaveCell事件
Dim frm = Forms("测试 FTP 图片伸缩")
If e.Col.name <> "测试FTP" AndAlso frm.opened Then
    frm.baseform.left = -1000
    frm.baseform.Top = -1000
    
End If

四、参考的实例图片

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(3).jpg
图片点击可在新窗口打开查看







[此贴子已经被作者于2019/7/21 16:01:12编辑过]

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/21 21:59:00 [显示全部帖子]

好一点儿,不报错了。

但还是不行,单元格和弹出的窗口里,都没显示图片。

鼠标进入单元格,弹出的窗口中没有图片:

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(4).jpg
图片点击可在新窗口打开查看

点击单元格按钮,弹出的窗口能正常显示图片:

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(5).jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/7/21 22:07:00编辑过]

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/22 1:37:00 [显示全部帖子]

以下是引用有点蓝在2019/7/21 22:52:00的发言:
说明图片还没有下载到本地。如果是远程网络下载是需要一定的时间的。

蓝老师,之前在本地的 "RemoteFiles\测试\" 目录之下,已经有这些图片了,应该是已经下载下来了。 只是奇怪为什么单元格却不显示?

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/22 1:43:00 [显示全部帖子]

以下是引用yifan3429在2019/7/21 22:55:00的发言:
单元表显示图片功能 可以分享吗

1楼的那些,就是完整的代码。

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/22 13:45:00 [显示全部帖子]

蓝老师,路径 "RemoteFiles\测试\" 是从Windows资源管理器的地址栏里直接复制来的,直接隶属于项目路径,应该都没有错。

文件 Ls(0) 是定义的字符集合调用的第一个图片,应该也没有错。只要单元格中有图片文件,就应该能够调用。

从下面的截屏中也可以看出,路径 "RemoteFiles\测试\" 下,确实存在不少图片文件。

您看:

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(6).jpg
图片点击可在新窗口打开查看

还请蓝老师多费心,再帮着找找原因图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/22 22:19:00 [显示全部帖子]

为了突出重点,把 StartEdit事件 和进出单元格的鼠标事件代码都注释掉,只留Drawcell事件 的代码;

同时,注释掉代码:    e.text = ""

使单元格能直接显示图片的名称 —— 能看到各个单元格都有图片,但,就是不显示!

气人不?

图片点击可在新窗口打开查看此主题相关图片如下:单元格绘制图片报错drawcell(7).jpg
图片点击可在新窗口打开查看


再重启项目看一下,还是这样!


 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/23 13:31:00 [显示全部帖子]

蓝老师,是这个吗?

链接:https://pan.baidu.com/s/1BEpAi07trQ2o-6IqzF1Vkg 
提取码:qwtm 
复制这段内容后打开百度网盘手机App,操作更方便哦


打开这个表:

餐饮行业_1A_级企业
[此贴子已经被作者于2019/7/23 13:49:38编辑过]

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/23 17:07:00 [显示全部帖子]

嗯 犯了低级错误图片点击可在新窗口打开查看

现在能用了!

不过,看来代码里不能在系统目录下( "RemoteFiles\")添加二级目录( "RemoteFiles\测试\")?

用二级目录( "RemoteFiles\测试\"),系统找不到其下的文件?


另外,请蓝老师再帮着看一下,这个项目的登录日志和删除日志,怎么也总是报错,说是找不到完整的路径呢?
[此贴子已经被作者于2019/7/23 17:21:26编辑过]

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/23 18:19:00 [显示全部帖子]

蓝老师,日志的路径问题,能先帮着直接找出来吗?

最近任务紧,担心研究的时间长。

之后找时间,一定认真的研究透!

先谢谢啦 !!!

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/7/23 23:34:00 [显示全部帖子]

以下是引用有点蓝在2019/7/23 20:21:00的发言:
自己合并成路径,然后把这个路径复制到资源管理器打开查看。

这个办法好,简单直接! 尽快的试一下!

 回到顶部
总数 13 1 2 下一页