以文本方式查看主题

-  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
--  
老师,

您好!

我这边不是啊, 即使设定列属性不允许直接输入, 依然可以通过那个菜单进行复制, 剪切, 粘贴. 删除. 不知什么原因?