heroxianf 发表于 2016-11-28 10:28:03

GUICtrlSetData如何默认选中第一项[已解决]

本帖最后由 heroxianf 于 2016-11-28 16:46 编辑

GUICtrlSetData(-1, "条目 1|条目 2|条目 3", "条目 3")

在某些时候批量添加下拉菜单,我也不知道有什么字符,我想添加数据后,默认选中第一个菜单如何实现呢、。?

GUICtrlSetData(-1, "条目 1|条目 2|条目 3", "1")   这里可以这样设置参数就好了,1就选中第一个。

答案在8楼

dnvplj 发表于 2016-11-28 11:18:54

LZ试下是否可行
GUICtrlSetData($Combo1, "条目 1|条目 2|条目 3",“条目 1”)

heroxianf 发表于 2016-11-28 11:37:54

回复 2# dnvplj

我希望是模糊选择的,只是知道目录里有下拉菜单项的数目,想通过制定第几个来选择。其实下面代码就可以实现了,看有没有通过数字几来选着的可能。

Func _Readini($zPath, $zCombo, $zKeyword)
        GUICtrlSetData($zCombo, '')
        Local $zOut = ''
        Local $aArray = IniReadSection($zPath, $zKeyword)
        If Not @error Then
                For $i = 1 To $aArray
                        $zOut &= $aArray[$i] & '|'
                Next
                GUICtrlSetData($zCombo, $zOut, $aArray)
        EndIf
EndFunc   ;==>_Readini

afan 发表于 2016-11-28 13:46:13

ControlCommand("标题", "文本", 控件ID, "SetCurrentSelection", 1)

试试吧

heroxianf 发表于 2016-11-28 14:29:28

回复 4# afan

A大,也许是我自己折腾错了,这个发送命令的对自己编译的程序发送是没任何反应的。你看看下面的代码是不是哪里错了。

#include <GUIConstantsEx.au3>

Example()

Func Example()
        GUICreate("My GUI") ; will create a dialog box that when displayed is centered

        GUICtrlCreateCombo("", 10, 10)

        GUICtrlSetData(-1, "item1|item2|item3", "")
        Sleep(100)
        ControlCommand("My GUI", "", 'edit1', "SetCurrentSelection", 1)

        GUISetState(@SW_SHOW) ; will display an empty dialog box with a combo control with focus on

        ; Loop until the user exits.
        While 1
                Switch GUIGetMsg()
                        Case $GUI_EVENT_CLOSE
                                ExitLoop

                EndSwitch
        WEnd
EndFunc   ;==>Example

chzj589 发表于 2016-11-28 16:05:56

我想是这样子:



chzj589 发表于 2016-11-28 16:10:17

回复 6# chzj589

忘了上传附件:
Combo默认选中第一项

afan 发表于 2016-11-28 16:13:22

回复 5# heroxianf


    控件id显然不是edit...GUICreate("My GUI")
GUICtrlCreateCombo("", 10, 10)
GUICtrlSetData(-1, "item1|item2|item3", "")
ControlCommand("My GUI", "", 'ComboBox1', "SetCurrentSelection", 0)
GUISetState()
While 1
        Switch GUIGetMsg()
                Case -3
                        Exit
        EndSwitch
WEnd

heroxianf 发表于 2016-11-28 16:44:18

本帖最后由 heroxianf 于 2016-11-28 16:49 编辑

QQQ终于搞明白了,又学了个参数。{:face (197):}

ControlCommand这个函数的选项真是搞不明白

cfanpc 发表于 2016-11-29 09:47:45

GUICreate("My GUI")
GUICtrlCreateCombo("", 10, 10)
GUICtrlSetData(-1, "item1|item2|item3", "item1")
GUISetState()
While 1
      Switch GUIGetMsg()
                Case -3
                        Exit
      EndSwitch
WEnd搞那么复杂无语

heroxianf 发表于 2016-11-29 10:19:08

回复 10# cfanpc


    是在不知道下拉菜单里有哪些的情况下选择的!
页: [1]
查看完整版本: GUICtrlSetData如何默认选中第一项[已解决]