以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 防止复制粘贴 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180957) |
-- 作者:lxmoffice -- 发布时间:2022/10/20 10:40:00 -- 防止复制粘贴 老师, 您好! 我想禁止一列手动输入, 只能通过Droptree选取数据. 做了以下设置 1, 列属性不允许直接输入 2, 写了以代码 测试生产安排_KeyPressEdit
If vars("粘贴")
Then e.cancel = True End If
测试生产安排_KeyDownEdit
If e.Control =
True AndAlso e.KeyCode = Keys.V AndAlso e.Table.cols(e.Table.colsel).name =
"图纸编号" Then e.cancel = True vars("粘贴") = True Else vars("粘贴") = False End If 测试生产安排_KeyDown
If e.Control =
True AndAlso e.KeyCode = Keys.V AndAlso e.Table.cols(e.Table.colsel).name =
"图纸编号" Then e.cancel = True vars("粘贴") = True Else vars("粘贴") = False End If
测试结果, 不能直接输入没问题, 禁止键盘复制粘贴也没问题, 但若通过鼠标右键粘贴还是可以粘贴的. 请问老师有更好的办法吗? 另建议列属性"允许直接输入"包含防止粘贴, 要不这属性不全面, 而这种防止粘贴常常要用的. 先谢谢! 回复为盼! |
-- 作者:有点蓝 -- 发布时间:2022/10/20 10:51:00 -- 禁止使用粘贴菜单:http://www.foxtable.com/webhelp/topics/0662.htm |
-- 作者:lxmoffice -- 发布时间:2022/10/20 11:34:00 -- 老师, 您好! 谢谢回复. 用禁止使用粘贴菜单可以具体到指定某一列吗? 如果可以, 代码怎样写?
|
-- 作者:有点蓝 -- 发布时间:2022/10/20 11:41:00 -- if e.Table.Cols(e.Table.ColSel).Name = "某一列" then |
-- 作者:lxmoffice -- 发布时间:2022/10/20 12:03:00 -- 老师, 您好! 用这个方法只可以禁止系统菜单, 因为我不用系统菜单, 所以发布后也不会出现系统菜单. 但点击单元格且单元格获得焦点后按下鼠标右键仍会出现菜单(如附件), 好像是Window发生的, 禁止不了粘贴, 请问这个有办法解决吗? [此贴子已经被作者于2022/10/20 12:03:23编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/10/20 12:08:00 -- 不可能的,Foxtable的单元格只能显示系统菜单,或者自己设计的菜单,不可能会出现Window菜单 |
-- 作者:lxmoffice -- 发布时间:2022/10/20 12:21:00 -- 老师, 您好! 我也觉得奇怪, 但实际情况就这样, 麻烦你再看一下附件, 不管发布还是不发布, 只要单击单元格并让单元格获得焦点, 后按下鼠标右键就是出现附件菜单, 你可以试下. (注意: 不是直接按鼠标右键, 先单击单元格并让单元格获得焦点, 后按下鼠标右键)
|
-- 作者:lxmoffice -- 发布时间:2022/10/20 12:32:00 -- 不知是不是输入法问题, 我在记事本上按右键也会出现同样菜单, 但在excel, word 等就不会 |
-- 作者:有点蓝 -- 发布时间:2022/10/20 13:30:00 -- 只要单击单元格并让单元格获得焦点, 后按下鼠标右键就是出现附件菜单 -- 这个是会出现菜单,但是我测试列属性不允许直接输入的情况下,这个粘贴菜单是没有效果的 |
-- 作者:lxmoffice -- 发布时间:2022/10/20 14:26:00 -- 老师, 您好! 我这边不是啊, 即使设定列属性不允许直接输入, 依然可以通过那个菜单进行复制, 剪切, 粘贴. 删除. 不知什么原因?
|