shenrenba 发表于 2011-4-7 14:13:05

关于_GUICtrlListView_Create控件右键菜单如何创建(已解决)

本帖最后由 shenrenba 于 2011-4-7 16:12 编辑

使用_GUICtrlListView_Create创建的控件 用GUICtrlCreateContextMenu 无效
使用GUICtrlCreateListView 创建的就可以请问如何解决
#include <GuiListView.au3>
$hGUI = GUICreate("Test", 400, 300)
$hListView = _GUICtrlListView_Create($hGUI, "", 30, 20, 340, 50, BitOR($LVS_EDITLABELS, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($hListView, $LVS_EX_GRIDLINES)
_GUICtrlListView_InsertColumn($hListView, 0, "1", 50)
_GUICtrlListView_InsertColumn($hListView, 1, "2", 50)
_GUICtrlListView_InsertColumn($hListView, 2, "3", 100)
$ListView =GUICtrlCreateListView("1|2|3   ",30, 100, 340, 50)
$hmenu = GUICtrlCreateContextMenu($hListView)
GUICtrlCreateMenuItem("ceshi1", $hmenu)
$menu = GUICtrlCreateContextMenu($ListView)
GUICtrlCreateMenuItem("ceshi2", $menu)
GUISetState()
While GUIGetMsg() <> -3
WEnd

飘云 发表于 2011-4-7 14:35:27

我不明白,既然如此,那用GUICtrlCreateListView来创建控件不就好了,GUICtrlCreateListView创建的控件同样可以使用_GUICtrlListView_的相关函数呀。
另外回答你的问题,直接创建菜单如果不行的话,可以绕一下,通过Dummy控件来绑定菜单控件,然后注册个WM_NOTIFY消息,定位ListView控件,如果鼠标点击右键的消息发生在此控件下,则弹出创建的菜单,弹出菜单可以使用dllcall函数调用user32.dll中的TrackPopupMenuEx

sdc7 发表于 2013-7-18 12:38:47

$hListview1 = GUICtrlCreateListView
$hListview=GUICtrlGetHandle($hListview1)是等于_GUICtrlListView_Create创建的句柄的·

sdc7 发表于 2013-7-18 12:38:48

$hListview1 = GUICtrlCreateListView
$hListview=GUICtrlGetHandle($hListview1)是等于_GUICtrlListView_Create创建的句柄的·
页: [1]
查看完整版本: 关于_GUICtrlListView_Create控件右键菜单如何创建(已解决)