易语言吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1970|回复: 1

[技术文章] 易语言编辑框屏蔽鼠标右键的两种方法

[复制链接]

297

主题

537

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
14122

幽默大师终生成就

威望
0
易币
13500
贡献
0
积分
14122
UID
580
在线时间
450 小时
注册时间
2019-12-5
发表于 2020-3-11 12:02:12 | 显示全部楼层 |阅读模式
易语言的编辑框默认是可以点击鼠标右键弹出菜单的
如下图所示,右键可以复制粘贴剪切编辑框内容
截图202003111152131774..png

有时候我们做的软件.并不希望用户可以点击鼠标右键复制粘贴编辑框的内容.
那么怎么屏蔽易语言编辑框的鼠标右键呢?

1.用代码实现
源码如下.
  1. .版本 2

  2. .程序集 窗口程序集_窗口1
  3. .程序集变量 c_eidt, edit, , "0"

  4. .子程序 拦截编辑框右键
  5. .参数 编辑框句柄, 整数型
  6. .局部变量 eidt, edit

  7. eidt.hwnd = 编辑框句柄
  8. eidt.lpPrevWndProc = SetWindowLong (eidt.hwnd, -4, &WindowProc)
  9. 加入成员 (c_eidt, eidt)

  10. .子程序 WindowProc, 整数型
  11. .参数 hw
  12. .参数 uMsg
  13. .参数 wParam
  14. .参数 lParam

  15. .如果真 (uMsg = 123)  ' 或 uMsg = 769)  ' 是否为WM_CONTEXTMENU或复制消息
  16.     弹出菜单 (菜单, , )
  17.     返回 (0)  ' 拦截
  18. .如果真结束
  19. 返回 (CallWindowProc (Get_lpPrevWndProc (hw), hw, uMsg, wParam, lParam))

  20. .子程序 Get_lpPrevWndProc, 整数型
  21. .参数 hwnd, 整数型
  22. .局部变量 i, 整数型

  23. .计次循环首 (取数组成员数 (c_eidt), i)
  24.     .如果真 (c_eidt [i].hwnd = hwnd)
  25.         返回 (c_eidt [i].lpPrevWndProc)
  26.     .如果真结束

  27. .计次循环尾 ()
  28. 返回 (0)

  29. .子程序 _窗口1_创建完毕

  30. 拦截编辑框右键 (编辑框1.取窗口句柄 ())
复制代码



2.曲线解决法:换成超级编辑框
写下如下代码.就会弹出你的自定义菜单了.
截图202003111201053264..png

  1. .版本 2
  2. .子程序 _超级编辑框1_鼠标右键被放开, 逻辑型
  3. .参数 横向位置, 整数型
  4. .参数 纵向位置, 整数型
  5. .参数 功能键状态, 整数型
  6. 超级编辑框1.弹出菜单 (菜单, , )
  7. 返回 (假)
复制代码



屏蔽编辑框鼠标右键.rar

1.68 KB, 下载次数: 2

售价: 2 易币  [记录]

0

主题

2368

帖子

9586

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
9586
威望
198
易币
6819
贡献
0
积分
9586
UID
11903
在线时间
36 小时
注册时间
2021-1-23
发表于 2021-5-28 23:16:57 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【选择右侧内容,快速回复】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大漠插件注册码无须等1-3号

QQ|一:站内所有资源均来自互联网收集或用户上传分享,本站不拥有此类资源的版权。 作为网络服务提供者,对转载行为的发生不具备充分的监控能力。但是当版权拥有者提出侵权并出示充分的版权证明材料时,易语言吧负有移除转载作品以及停止继续传播的义务。在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任,包括不承担因侵权不成立而给原发布人带来损害的赔偿责任。 用户免费分享产生,如果侵犯了你的权益,联系QQ:3066137757|Archiver|手机版|小黑屋|易语言吧

GMT+8, 2024-4-20 07:19 , Processed in 0.203368 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表