易语言编辑框屏蔽鼠标右键的两种方法
易语言的编辑框默认是可以点击鼠标右键弹出菜单的如下图所示,右键可以复制粘贴剪切编辑框内容
有时候我们做的软件.并不希望用户可以点击鼠标右键复制粘贴编辑框的内容.
那么怎么屏蔽易语言编辑框的鼠标右键呢?
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 .hwnd = hwnd)
返回 (c_eidt .lpPrevWndProc)
.如果真结束
.计次循环尾 ()
返回 (0)
.子程序 _窗口1_创建完毕
拦截编辑框右键 (编辑框1.取窗口句柄 ())
2.曲线解决法:换成超级编辑框
写下如下代码.就会弹出你的自定义菜单了.
.版本 2
.子程序 _超级编辑框1_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
超级编辑框1.弹出菜单 (菜单, , )
返回 (假)
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
页:
[1]