国际棋牌

 
 加入
查看: 127|回复: 9

combo怎么设置为初始未选择项目的状态?-国际棋牌

[复制链接]
发表于 2023-11-11 14:25:54 | 显示全部楼层 |
我用下面代码创建了一个combo



  1. global $combo_lb = guictrlcreatecombo('', 430, 396, 56, 25, 0x0003)  ;0x0003:在列表框框中显示当前选择的静态文本字段.
  2. guictrlsetdata(-1, '采购|技术|其他')

复制代码


脚本启动之后,界面combo控件显示为空白。但鼠标点击listview中的某个项目时,会通过下面代码修改combo显示的项目

  1. guictrlsetdata($combo_lb, _guictrllistview_getitemtext($idlistview_lbc, $icurindex, 2))
复制代码


但是当listview中为空白时,我想让combo显示为空白,就不知道怎么做了。guictrlsetdata($combo_lb, "")虽然可以做到,但是会把combo中所有的项目全部清空了。

发表于 2023-11-11 15:20:22 | 显示全部楼层
0x03 样式不支持这样的操作
不过可以加一行
guictrlsetdata($combo_lb, '')
guictrlsetdata($combo_lb, '采购|技术|其他')
 楼主| 发表于 2023-11-11 16:02:27 | 显示全部楼层

0x03 样式不支持这样的操作
不过可以加一行
guictrlsetdata($combo_lb, '')

谢谢a大,思路决定出路,写代码还是要看思路。
发表于 2023-11-11 21:48:24 | 显示全部楼层
guictrlsetdata( 控件id, 数据[, 默认值])

修改选中,应该修改默认值:
guictrlsetdata($combo_lb,'采购|技术|其他',_guictrllistview_getitemtext($idlistview_lbc, $icurindex, 2))
发表于 2023-11-12 10:57:48 | 显示全部楼层
本帖最后由 afan 于 2023-11-12 11:04 编辑

gyp2k,论审题的重要性


之前两行可以改为一行:
  1. guictrlsetdata($combo_lb, '|采购|技术|其他')
复制代码

另,想了个发送消息的方法,好处是不用重新添加数据,实际更简单:
  1. dllcall('user32.dll', 'lresult', 'sendmessagea', 'hwnd', guictrlgethandle($combo_lb), 'uint', 0x14e, 'wparam', -1, 'lparam', 0)
复制代码


发表于 2023-11-12 23:29:33 | 显示全部楼层

gyp2k,论审题的重要性

我又看了几遍他的需求,到现在也没弄明白他是想改变下拉列表中的项目,还是只是想修改选中项。
如果只是修改选中,那么修改参数3 默认值就好了。
如果是改变项目内容,修改参数2和参数3就行。
正常来说参数3不应该被忽略才对,除非他不想选中任何项目。
发表于 2023-11-13 11:01:16 | 显示全部楼层

我又看了几遍他的需求,到现在也没弄明白他是想改变下拉列表中的项目,还是只是想修改选中项。
如果只是 ...

光看标题都能理解的问题…… lz也不是新手,怎么可能是你想的那种初级问题
 楼主| 发表于 2023-11-13 20:54:20 | 显示全部楼层
本帖最后由 smooth 于 2023-11-13 20:56 编辑

gyp2k,论审题的重要性
两行:

  1. guictrlsetdata($combo_lb, '')
  2. guictrlsetdata($combo_lb, '采购|技术|其他')
复制代码


不能改为一行:

  1. guictrlsetdata($combo_lb, '采购|技术|其他')
复制代码


如果改为一行,则里面的项目会被重复设置。


  1. [color=#0080][font="][b]dllcall[/b][/font][/color][color=#ff00][font="][b]([/b][/font][/color][color=#9977bb][font="]'user32.dll'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'lresult'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'sendmessagea'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'hwnd'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#0080][font="][b]guictrlgethandle[/b][/font][/color][color=#ff00][font="][b]([/b][/font][/color][color=#aa00][font="][b]$combo_lb[/b][/font][/color][color=#ff00][font="][b])[/b][/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'uint'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#ac0a9][font="][b]0x14e[/b][/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'wparam'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#ac0a9][font="][b]-1[/b][/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#9977bb][font="]'lparam'[/font][/color][color=#ff00][font="][b],[/b][/font][/color][color=#000][backcolor=rgb(247, 247, 247)][font="] [/font][/backcolor][/color][color=#ac0a9][font="][b]0[/b][/font][/color][color=#ff00][font="][b])[/b][/font][/color]
复制代码

dllcall,实测不是很好用,第一次点击listview,没有将数据写入combo,也许是我不会用。


发表于 2023-11-13 21:06:56 | 显示全部楼层

两行:

改为一行你仔细看看我写的和你写的区别。
第二种方法无实际应用代码,不做猜测
 楼主| 发表于 2023-11-13 21:29:44 | 显示全部楼层

改为一行你仔细看看我写的和你写的区别。
第二种方法无实际应用代码,不做猜测

眼力不行,看了几遍,才发现多了一个“|”
您需要登录后才可以回帖 登录 | 加入

本版积分规则

||小黑屋|国际棋牌 ( ) "));

gmt 8, 2023-12-7 00:54 , processed in 0.088492 second(s), 20 queries .

powered by x3.5

© 2001-2023 .

返回列表
网站地图