Combo在不重新输入项目下 如何 用程控选择某一个项目??[已解决]
本帖最后由 kk_lee69 于 2015-3-18 13:06 编辑Combo在不重新输入项目下 如何 用程控选择某一个项目??
GUICtrlCreateLabel('请选择使用者部门:',10,173,100,20);
$loginDEPT = GUICtrlCreateCombo ("",130,170,200,20)
GUICtrlSetData($loginDEPT, “A部门|B部门|C部门”, "A部门") ; 增加其它的项目
开始的时候 以上面的语法 建立出 Combo
我知道 重新在一次
GUICtrlSetData($loginDEPT, “A部门|B部门|C部门”, "B部门")
这样可以变成 B 部门但是这样 等同 重新建立项目
可不可以 不需要 “A部门|B部门|C部门” 这个 就可以直接设定要选哪个?? 本帖最后由 netegg 于 2015-2-17 20:44 编辑
$hWnd=controlgethandle($combo)
_GUICtrlComboBoxEx_GetListArray($hWnd)
_GUICtrlComboBoxEx_GetComboBoxInfo($hWnd)
_GUICtrlEdit_SetText
不对呀,你到底是选取还是输入 回复 2# netegg
選取 內定 A部門 但是 使用者 有可能再輸入 新增一筆資料的時候 選擇了b 部門 所以 我要用程式 直接在資料新增完畢後回到 內定的 A部門但是 我不想重新更動 裡面的選項
所以在找 不用重新 GUICtrlSetData($loginDEPT, “A部门|B部门|C部门”, "A部门") 這樣的方式處理
因為 可能在 其他的功能內 其實 已經 多新增了一筆 D部門了 _GUICtrlComboBoxEx_AddString 回复 4# netegg
蛋大小年夜 還在網上 ~~真辛苦呀
先拜個早年新年快樂!!
另外請教一下
Combo 有无办法做到 下拉的时候 可以出现两列
A001业务部
B001财务部
C001研发部
可以这样出现下拉两列
然后 选择的时候其实读取到的值 是编号 A001 或 B001 或 C001 可以是可以,不过有点麻烦 本帖最后由 netegg 于 2015-2-17 21:52 编辑
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListBox.au3>
$hGUI = GUICreate("Test", 500, 500)
$hList = _GUICtrlListBox_Create($hGUI, "", 10, 10, 200, 200, BitOr($WS_HSCROLL, $WS_BORDER, $LBS_MULTICOLUMN))
GUISetState() For $i = 1 To 30
_GUICtrlListBox_AddString($hList, $i)
Sleep(250)
Next
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
获取list句柄,重新设置样式
不过这个加样式没多大用啊,出两列,格式化项目字符串就行了
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $HGUI = GUICreate("", 300, 200, -1, -1)
Local $POS_FontSize_Combo = GUICtrlCreateCombo("", 10, 10, 100, 20, $CBS_DROPDOWNLIST)
GUICtrlSetData($POS_FontSize_Combo, "A部门|B部门|C部门", "A部门")
_GUICtrlComboBox_SetCurSel($POS_FontSize_Combo, _GUICtrlComboBox_FindStringExact($POS_FontSize_Combo, "B部门"))
GUISetState(@SW_SHOW, $HGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
页:
[1]