|
易语言的编辑框默认是可以点击鼠标右键弹出菜单的
如下图所示,右键可以复制粘贴剪切编辑框内容
有时候我们做的软件.并不希望用户可以点击鼠标右键复制粘贴编辑框的内容.
那么怎么屏蔽易语言编辑框的鼠标右键呢?
1.用代码实现
源码如下.
- .版本 2
- .程序集 窗口程序集_窗口1
- .程序集变量 c_eidt, edit, , "0"
- .子程序 拦截编辑框右键
- .参数 编辑框句柄, 整数型
- .局部变量 eidt, edit
- eidt.hwnd = 编辑框句柄
- eidt.lpPrevWndProc = SetWindowLong (eidt.hwnd, -4, &WindowProc)
- 加入成员 (c_eidt, eidt)
- .子程序 WindowProc, 整数型
- .参数 hw
- .参数 uMsg
- .参数 wParam
- .参数 lParam
- .如果真 (uMsg = 123) ' 或 uMsg = 769) ' 是否为WM_CONTEXTMENU或复制消息
- 弹出菜单 (菜单, , )
- 返回 (0) ' 拦截
- .如果真结束
- 返回 (CallWindowProc (Get_lpPrevWndProc (hw), hw, uMsg, wParam, lParam))
- .子程序 Get_lpPrevWndProc, 整数型
- .参数 hwnd, 整数型
- .局部变量 i, 整数型
- .计次循环首 (取数组成员数 (c_eidt), i)
- .如果真 (c_eidt [i].hwnd = hwnd)
- 返回 (c_eidt [i].lpPrevWndProc)
- .如果真结束
- .计次循环尾 ()
- 返回 (0)
- .子程序 _窗口1_创建完毕
- 拦截编辑框右键 (编辑框1.取窗口句柄 ())
复制代码
2.曲线解决法:换成超级编辑框
写下如下代码.就会弹出你的自定义菜单了.
- .版本 2
- .子程序 _超级编辑框1_鼠标右键被放开, 逻辑型
- .参数 横向位置, 整数型
- .参数 纵向位置, 整数型
- .参数 功能键状态, 整数型
- 超级编辑框1.弹出菜单 (菜单, , )
- 返回 (假)
复制代码
|
|