找回密码
 加入
搜索
查看: 5170|回复: 10

修改ComboBox输入框样式

[复制链接]
发表于 2009-3-24 22:27:08 | 显示全部楼层 |阅读模式
该ComboBox初始状态为:编辑框禁止输入文本,但仍可以在ComboBox中先择项目,
如何在后面将其改为默许状态(编辑框可以输入文本)?



#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 253, 193, 192, 124)
$Combo1 = GUICtrlCreateCombo("11", 48, 24, 137, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1,"22|33")
$Button1 = GUICtrlCreateButton("切换为可输入状态", 64, 128, 105, 25, 0)
$Label1 = GUICtrlCreateLabel("该ComboBox初始状态为:编辑禁止输入文本,如何在后面将其改为默许的可输入状态?", 56, 56, 133, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetStyle($Combo1,$GUI_SS_DEFAULT_COMBO)
EndSwitch
WEnd


[ 本帖最后由 qst 于 2009-3-26 23:02 编辑 ]

本帖子中包含更多资源

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

×
发表于 2009-3-25 04:10:42 | 显示全部楼层
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 253, 193, 192, 124)
$Combo1 = GUICtrlCreateCombo("11", 48, 24, 137, 80, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "22|33")
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("切换为可输入状态", 64, 128, 105, 25, 0)
$Label1 = GUICtrlCreateLabel("该ComboBox初始状态为:编辑禁止输入文本,如何在后面将其改为默许的可输入状态?", 56, 56, 133, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        GUICtrlSetState($Combo1, $GUI_ENABLE)
        EndSwitch
WEnd
 楼主| 发表于 2009-3-25 07:22:53 | 显示全部楼层

回复 2# sxd 的帖子

不用要禁用combobox,只是要将其编辑框由禁止输入文本改为可以输入文本。整个过和程不影响conbobox的功能。
 楼主| 发表于 2009-3-25 07:39:20 | 显示全部楼层
GUICtrlSetStyle($Combo1,$GUI_SS_DEFAULT_COMBO)
为什么这个不起作用??
发表于 2009-3-25 10:12:59 | 显示全部楼层
楼主的那个按纽确实不起作用

另问,楼主有办法初始化COMBOBOX的值吗?? 要求这个初始值不在COMBOBOX项值里。。
譬如象你代码中的COMBOX值为11|22||33, 我如果想在显示时默认为44,要求44不要在下拉列表里出现。。
呵呵,说的好乱,不知楼主明白意思没??

具体应用,譬如工具里,有个修改主页的功能,默认呢,显示出当前主页,而下拉COMBO里集成几个常用地址。。
发表于 2009-3-26 03:07:40 | 显示全部楼层
嗯  我看错标题了

如果建立控件的时候设置能输入 那就会创建一个combobox 一个edit
如果不能输入 就只会创建一个combobox  所以 应该没办法用一般方法来实现吧

不然就这样把 囧

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 253, 193, 192, 124)
$Combo1 = GUICtrlCreateCombo("11", 48, 24, 137, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1,"22|33")
$Button1 = GUICtrlCreateButton("切换为可输入状态", 64, 128, 105, 25, 0)
$Label1 = GUICtrlCreateLabel("该ComboBox初始状态为:编辑禁止输入文本,如何在后面将其改为默许的可输入状态?", 56, 56, 133, 49)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlDelete($Combo1)
$Combo1 = GUICtrlCreateCombo("11", 48, 24, 137, 25)
EndSwitch
WEnd


[ 本帖最后由 sxd 于 2009-3-26 03:08 编辑 ]

评分

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

查看全部评分

发表于 2009-3-26 03:10:56 | 显示全部楼层
原帖由 llztt 于 2009-3-25 10:12 发表
楼主的那个按纽确实不起作用

另问,楼主有办法初始化COMBOBOX的值吗?? 要求这个初始值不在COMBOBOX项值里。。
譬如象你代码中的COMBOX值为11|22||33, 我如果想在显示时默认为44,要求44不要在下拉列表里出现。 ...


先设置combo的值
再ControlSetText combo的edit
发表于 2009-3-26 11:48:55 | 显示全部楼层
非常感谢sxd,我的问题解决了,呵呵

至于楼主问题,先删再建的办法,在有TAB的情况下,有些麻烦,因为再建的控件在所有TAB里都是可见的

评分

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

查看全部评分

发表于 2009-3-26 11:58:46 | 显示全部楼层
最好能截个图 :)

评分

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

查看全部评分

 楼主| 发表于 2009-3-26 23:04:58 | 显示全部楼层

回复 5# llztt 的帖子

#Include <GuiComboBox.au3>
_GUICtrlComboBox_SetEditText($hWnd, $sText)
发表于 2009-3-27 12:23:42 | 显示全部楼层

回复 10# qst 的帖子

恩,楼上这个也行呢,不过我还是用SXD说的ControlSetText 了,因为我的那个操作是针对input或者COMBO的。。而ControlSetText ,正好都适用于这两种控件。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 03:20 , Processed in 0.167652 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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