找回密码
 加入
搜索
查看: 4011|回复: 7

[AU3基础] Combo在不重新输入项目下 如何 用程控选择某一个项目??[已解决]

  [复制链接]
发表于 2015-2-17 20:04:33 | 显示全部楼层 |阅读模式
本帖最后由 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部门” 这个 就可以直接设定要选哪个??
发表于 2015-2-17 20:32:08 | 显示全部楼层
本帖最后由 netegg 于 2015-2-17 20:44 编辑

$hWnd=controlgethandle($combo)
_GUICtrlComboBoxEx_GetListArray($hWnd)
_GUICtrlComboBoxEx_GetComboBoxInfo($hWnd)
_GUICtrlEdit_SetText
不对呀,你到底是选取还是输入
 楼主| 发表于 2015-2-17 21:22:29 | 显示全部楼层
回复 2# netegg

    選取 內定 A部門 但是 使用者 有可能再輸入 新增一筆資料的時候 選擇了b 部門 所以 我要用程式 直接在資料新增完畢後  回到 內定的 A部門  但是 我不想重新更動 裡面的選項

所以在找 不用重新 GUICtrlSetData($loginDEPT, “A部门|B部门|C部门”, "A部门") 這樣的方式處理

因為 可能在 其他的功能內 其實 已經 多新增了一筆 D部門了
发表于 2015-2-17 21:31:18 | 显示全部楼层
_GUICtrlComboBoxEx_AddString
 楼主| 发表于 2015-2-17 21:34:40 | 显示全部楼层
回复 4# netegg

蛋大  小年夜 還在網上 ~~真辛苦呀

先拜個早年  新年快樂!!


另外請教一下

Combo 有无办法做到 下拉的时候 可以出现两列

A001  业务部
B001  财务部
C001  研发部

可以这样出现下拉两列

然后 选择的时候  其实读取到的值 是编号 A001 或 B001 或 C001
发表于 2015-2-17 21:38:01 | 显示全部楼层
可以是可以,不过有点麻烦
发表于 2015-2-17 21:46:48 | 显示全部楼层
本帖最后由 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句柄,重新设置样式
不过这个加样式没多大用啊,出两列,格式化项目字符串就行了
发表于 2015-2-20 14:21:28 | 显示全部楼层

#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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 18:05 , Processed in 0.081154 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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