找回密码
 加入
搜索
查看: 307|回复: 8

[AU3基础] 【已解决】删除下拉列表

[复制链接]
发表于 2024-5-18 09:02:45 | 显示全部楼层 |阅读模式
本帖最后由 anythinging 于 2024-5-18 18:42 编辑

请教各位朋友,如何实现在ComboBox下拉列表中删除某行数据?
了解可在下拉列表中添加图片,不知通过检测图片点击是否能实现?或者还有更简单的方法?

如图qq,点右边的x可以删除。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2024-5-18 09:07:19 | 显示全部楼层
本帖最后由 anythinging 于 2024-5-18 09:10 编辑

目的是想通过鼠标删除列表内容,右键删除也行(不知如何触发)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2024-5-18 18:45:16 | 显示全部楼层
感谢A版指点!弄了1天时间解决了。
加载、保存、更新全是坑。
解决方案:
使用热键调用,_GUICtrlComboBox_DeleteString解决。
发表于 2024-5-18 18:47:58 | 显示全部楼层
anythinging 发表于 2024-5-18 18:45
感谢A版指点!弄了1天时间解决了。
加载、保存、更新全是坑。
解决方案:

我还以为你不要热键的方法 _ _||
 楼主| 发表于 2024-5-18 21:05:00 | 显示全部楼层
afan 发表于 2024-5-18 18:47
我还以为你不要热键的方法 _ _||

感谢指点,除了热键,其它真不会啊
发表于 2024-5-18 21:37:25 | 显示全部楼层
anythinging 发表于 2024-5-18 21:05
感谢指点,除了热键,其它真不会啊

只是习惯了用热键删除条目,觉得很方便。如果你想用右键删除也很简单啊,处理窗口 -9 消息就是~
 楼主| 发表于 2024-5-19 08:40:22 | 显示全部楼层
afan 发表于 2024-5-18 21:37
只是习惯了用热键删除条目,觉得很方便。如果你想用右键删除也很简单啊,处理窗口 -9 消息就是~ ...

窗口这个实在不会弄了,还请帮完善下
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $g_hCombo
Global $delnum

HotKeySet("{F9}","_DelCombo")

Global $hGUI

$hGUI = GUICreate("创建 ComboBoxEx", 400, 300)
GUISetOnEvent(-3,"_exit")
$g_hCombo = _GUICtrlComboBox_Create($hGUI, "", 2, 2, 194, 168)

For $x = 0 To 18
        _GUICtrlComboBox_InsertString($g_hCombo,'text'&$x)
Next

GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1
        Sleep(100)
WEnd


Func _DelCombo()
        $i = _GUICtrlComboBox_GetCurSel($g_hCombo)
        _GUICtrlComboBox_DeleteString($g_hCombo,$i)
EndFunc

Func _exit()
        Exit
EndFunc


Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg, $wParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $g_hCombo
            Switch $iCode
                                Case -9
                                        ConsoleWrite('-99999'&@CR&@CR)
            EndSwitch
   EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

发表于 2024-5-19 10:37:45 | 显示全部楼层
anythinging 发表于 2024-5-19 08:40
窗口这个实在不会弄了,还请帮完善下
#include
#include

加一行就行了
...
GUISetOnEvent(-3,"_exit")
GUISetOnEvent(-9,"_DelCombo")
...
 楼主| 发表于 2024-5-19 14:34:50 | 显示全部楼层
afan 发表于 2024-5-19 10:37
加一行就行了
...
GUISetOnEvent(-3,"_exit")

居然如此简单高效,高实在是高!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 11:23 , Processed in 0.077736 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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