找回密码
 加入
搜索
查看: 3215|回复: 11

编辑框的右键菜单问题

  [复制链接]
发表于 2009-6-23 06:43:22 | 显示全部楼层 |阅读模式
本帖最后由 gto250 于 2009-6-23 21:40 编辑

任何才能在编辑框上使用自定右键菜单。看帮助上说好像编辑框的右键菜单是不可更改的,谁有思路吗?
发表于 2009-6-23 08:55:21 | 显示全部楼层
这个不难吧
#include <GuiConstants.au3>
$Gui = GUICreate("test")

$Edit = GUICtrlCreateEdit("", 20, 20)

$DummyMenu      = GUICtrlCreateDummy()
$ContextMenu    = GUICtrlCreateContextMenu($DummyMenu)
$MenuItem1 = GUICtrlCreateMenuItem("菜单1", $ContextMenu)
$MenuItem2   = GUICtrlCreateMenuItem("菜单2", $ContextMenu)
GUICtrlCreateMenuItem("", $ContextMenu)
$ExitMenuItem   = GUICtrlCreateMenuItem("退出", $ContextMenu)

GUISetState()

While 1
    $CurInfo = GUIGetCursorInfo($Gui)
    $Msg = GUIGetMsg()
    Select
        Case $Msg = -3
            Exit
        Case $CurInfo[3] = 1 And $CurInfo[4] = $Edit
            ShowMenu($Gui, $ContextMenu)
    EndSelect
WEnd

; Show a menu in a given GUI window which belongs to a given GUI ctrl
Func ShowMenu($hWnd, $nContextID)
    Local $hMenu = GUICtrlGetHandle($nContextID)
    $arPos = MouseGetPos()
    Local $x = $arPos[0]
    Local $y = $arPos[1]
    DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0)
EndFunc
 
发表于 2009-6-23 18:05:17 | 显示全部楼层
要右键双击才能弹出自定义的菜单
 楼主| 发表于 2009-6-23 21:39:58 | 显示全部楼层
单击就能成功!
正所谓难者不会,会者不难
谢谢了
发表于 2011-4-24 20:38:47 | 显示全部楼层
先收藏, 慢慢研读之,谢谢
发表于 2011-5-14 02:21:03 | 显示全部楼层
高,我还远远不够
发表于 2011-5-14 02:21:16 | 显示全部楼层
怎么样开始学呀
发表于 2011-6-11 01:58:37 | 显示全部楼层
又学到一点东西,但还要多花点时间去消化
发表于 2011-7-7 09:31:25 | 显示全部楼层
谢谢楼主,学习学习!
发表于 2011-7-14 14:13:53 | 显示全部楼层
关键的问题是获取右键菜单的句柄,这个问题好像没有解决
发表于 2011-9-30 23:28:43 | 显示全部楼层
反过来,怎么自动对右键菜单操作?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 03:22 , Processed in 0.084738 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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