易语言编辑框屏蔽鼠标右键的两种方法
易语言的编辑框默认是可以点击鼠标右键弹出菜单的
如下图所示,右键可以复制粘贴剪切编辑框内容
有时候我们做的软件.并不希望用户可以点击鼠标右键复制粘贴编辑框的内容.
那么怎么屏蔽易语言编辑框的鼠标右键呢?
1.用代码实现
源码如下.
如下图所示,右键可以复制粘贴剪切编辑框内容

有时候我们做的软件.并不希望用户可以点击鼠标右键复制粘贴编辑框的内容.
那么怎么屏蔽易语言编辑框的鼠标右键呢?
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.弹出菜单 (菜单, , ) 返回 (假)复制代码