找回密码  加入

AUTOIT CN

搜索
查看: 8538|回复: 9

[AU3基础] listview到底怎么设置列的宽度? [已解决]

[复制链接]
发表于 2013-4-25 17:56:42 | 显示全部楼层 |阅读模式
本帖最后由 茫然 于 2013-4-25 20:50 编辑

我想通过列的宽度来使水平滚动条不显示出来,但是如果某列的数据长一些,这列的宽度就被自动加大了。如图:
现在这样

我想这样(这时我手工拖的)
  1. #include <GuiListView.au3>
  2. #include <GUIConstantsEx.au3>
  3. $FROM = GUICreate("", 615, 408, -1, -1)
  4. $list = GUICtrlCreateListView("编号|计算机|IP地址", 395, 4, 215, 398)

  5. _GUICtrlListView_SetColumnWidth($list, 0, 40)
  6. _GUICtrlListView_SetColumnWidth($list, 1, 65) ;这里无效
  7. _GUICtrlListView_SetColumnWidth($list, 2, 70)
  8. GUICtrlCreateListViewItem("001|1234567890123456789|192.168.100.100", $list)


  9. #endregion ### END Koda GUI section ###

  10. GUISetState(@SW_SHOW)
  11. While 1
  12.         $nMsg = GUIGetMsg()
  13.         Switch $nMsg
  14.                 Case $GUI_EVENT_CLOSE
  15.                         Exit
  16.         EndSwitch

  17.         Sleep(100)
  18. WEnd
复制代码

本帖子中包含更多资源

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

x
发表于 2013-4-25 18:35:11 | 显示全部楼层
你是要这样?

  1. #include <GuiListView.au3>
  2. #include <GUIConstantsEx.au3>
  3. $FROM = GUICreate("", 615, 408)
  4. $list = GUICtrlCreateListView("编号|计算机|IP地址", 395, 4, 215, 398)
  5. GUICtrlCreateListViewItem("001|1234567890123456789|192.168.100.100", $list)
  6. _GUICtrlListView_SetColumnWidth($list, 0, 40)
  7. _GUICtrlListView_SetColumnWidth($list, 1, 65) ;这里无效
  8. _GUICtrlListView_SetColumnWidth($list, 2, 70)
  9. GUISetState()
  10. While 1
  11.         $nMsg = GUIGetMsg()
  12.         Switch $nMsg
  13.                 Case $GUI_EVENT_CLOSE
  14.                         Exit
  15.         EndSwitch
  16. WEnd
复制代码
 楼主| 发表于 2013-4-25 18:43:06 | 显示全部楼层
本帖最后由 茫然 于 2013-4-25 18:54 编辑

回复 2# 水木子


    我晕菜了,这代码有效,但我没看出和我的哪里不一样!
看出来了,先设置宽度再放数据就无效。要先放数据再设置宽度...
发表于 2013-4-25 18:54:43 | 显示全部楼层
回复  水木子


    我晕菜了,这代码有效,但我没看出和我的哪里不一样!
茫然 发表于 2013-4-25 18:43



    眼神?先后顺序看不出?
发表于 2013-4-25 19:14:39 | 显示全部楼层
这样也可以

  1. #include <GuiListView.au3>
  2. #include <GUIConstantsEx.au3>
  3. $FROM = GUICreate("", 615, 408)
  4. $list = GUICtrlCreateListView("编号|计算机|IP地址", 365, 4, 248, 398)
  5. ;_GUICtrlListView_SetExtendedListViewStyle($list, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
  6. GUICtrlSendMsg(-1, 0x101E, 0, 38)
  7. GUICtrlSendMsg(-1, 0x101E, 1, 92)
  8. GUICtrlSendMsg(-1, 0x101E, 2, 105)
  9. GUICtrlCreateListViewItem("001|123456789012|192.168.100.100", $list)
  10. GUISetState()
  11. While 1
  12.         $nMsg = GUIGetMsg()
  13.         Switch $nMsg
  14.                 Case $GUI_EVENT_CLOSE
  15.                         Exit
  16.         EndSwitch
  17. WEnd
复制代码
发表于 2013-4-25 19:49:53 | 显示全部楼层
本帖最后由 netegg 于 2013-4-25 19:51 编辑

好像都是初次显示的时候吧,获取滑动条句柄,直接隐藏
另外好像listview加list样式也可以
 楼主| 发表于 2013-4-25 20:49:13 | 显示全部楼层
长知识了,办法还真不少啊 谢谢各位!
[已解决]
发表于 2013-4-25 21:22:34 | 显示全部楼层
回复 1# 茫然
还可以这样
  1. #include <GuiListView.au3>
  2. #include <GUIConstantsEx.au3>
  3. $FROM = GUICreate("", 615, 408, -1, -1)
  4. $list = GUICtrlCreateListView("编号|计算机|IP地址", 395, 4, 215, 398)

  5. _GUICtrlListView_SetColumnWidth($list, 0, 40)
  6. _GUICtrlListView_SetColumnWidth($list, 1, 65) ;这里无效
  7. _GUICtrlListView_SetColumnWidth($list, 2, 110)
  8. ;GUICtrlCreateListViewItem("001|1234567890123456789|192.168.100.100", $list)
  9. _GUICtrlListView_AddItem($list,"001")
  10. _GUICtrlListView_AddSubItem($list,0,"1234567890123456789",1)
  11. _GUICtrlListView_AddSubItem($list,0,"192.168.100.100",2)
  12. #endregion ### END Koda GUI section ###

  13. GUISetState(@SW_SHOW)
  14. While 1
  15.         $nMsg = GUIGetMsg()
  16.         Switch $nMsg
  17.                 Case $GUI_EVENT_CLOSE
  18.                         Exit
  19.         EndSwitch

  20.         Sleep(100)
  21. WEnd
复制代码
发表于 2013-4-25 22:31:11 | 显示全部楼层
_GUICtrlListView_SetColumnWidth
发表于 2014-6-18 21:03:17 | 显示全部楼层
谢谢,正好用到!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2020-7-15 19:18 , Processed in 0.390625 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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