找回密码
 加入
搜索
查看: 2240|回复: 6

控件句柄如何转换为控件id?

[复制链接]
发表于 2009-9-16 23:53:07 | 显示全部楼层 |阅读模式
本帖最后由 yokoliu 于 2009-9-17 09:17 编辑

#include <GuiComboBoxEx.au3>
#include <GuiConstantsEx.au3>



$Debug_CB = False ; Check ClassName being passed to ComboBox/ComboBoxEx functions, set to True and use a handle to another control to see it work


Local $hGUI, $hImage, $input, $hCombo,$sText

  ; Create GUI
  $hGUI = GUICreate("ComboBoxEx Add Dir", 400, 300, -1, -1, -1)
  $hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100)
  $binput = GUICtrlCreateButton("Input control", 2, 30, 120)
  GUISetState()


  _GUICtrlComboBoxEx_BeginUpdate ($hCombo)
  _GUICtrlComboBoxEx_AddDir ($hCombo, @ScriptDir & "\*.mdb")
  _GUICtrlComboBoxEx_EndUpdate ($hCombo)

GUICtrlSetState($hCombo,$GUI_DISABLE)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case   $binput
MsgBox(0,0,_GUICtrlComboBoxEx_GetCurSel($hCombo))
_GUICtrlComboBoxEx_GetItemText($hCombo,_GUICtrlComboBoxEx_GetCurSel($hCombo),$sText)
MsgBox(4160, "Information", "Edit Text: " & $sText)
EndSwitch
WEnd

上面的GUICtrlSetState($hCombo,$GUI_DISABLE)不起作用
如果用GUICtrlCreateCombo,就可以,但是  _GUICtrlComboBoxEx_AddDir ($hCombo, @ScriptDir & "\*.mdb")这句就不行了,_GUICtrlComboBoxEx_AddDir (GUICtrlGetHandle($hCombo), @ScriptDir & "\数据库\*.mdb"),也不行,
高手请支招
 楼主| 发表于 2009-9-16 23:54:59 | 显示全部楼层
GUICtrlCreateCombo 返回的id可以用GUICtrlGetHandle得到句柄,反过来呢?
发表于 2009-9-17 00:54:55 | 显示全部楼层
ControlDisable ($hGUI, "",$hCombo)

评分

参与人数 1金钱 +2 收起 理由
yokoliu + 2 谢谢

查看全部评分

发表于 2009-9-17 00:57:16 | 显示全部楼层
_WinAPI_GetDlgCtrlID($hWnd)

评分

参与人数 1金钱 +2 收起 理由
yokoliu + 2 谢谢

查看全部评分

 楼主| 发表于 2009-9-17 09:16:55 | 显示全部楼层
楼上两位,太感谢了!!
发表于 2012-11-8 14:33:15 | 显示全部楼层
控件句柄转控件ID。。。学习了!
发表于 2019-3-15 17:38:12 | 显示全部楼层
pusofalse 发表于 2009-9-17 00:57
_WinAPI_GetDlgCtrlID($hWnd)

感谢。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 11:44 , Processed in 0.150164 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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