找回密码
 加入
搜索
查看: 5329|回复: 13

[GUI管理] [已解决]窗口平分或列表来做平分图标显示问题

 火.. [复制链接]
发表于 2010-8-23 16:40:34 | 显示全部楼层 |阅读模式
本帖最后由 gogo023 于 2010-8-24 14:55 编辑


上面这个图片,在窗体内一排一排的显示出来.或在列表框内.最好在图标下面有有数字显示.图标在整个窗体中是平均的.
如:有100个图标.就在整个窗体中显示100个,而且平均分布.200个-N个都是这样.
急求助.

本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动给标题加“已解决”字样。

查看全部评分

发表于 2010-8-23 19:07:43 | 显示全部楼层
是这样吗?这是我做《软件菜单》时的练习。
#include <Constants.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
Dim $z = 1

GUICreate('ListView分组线', 600, 450)
$ListView1 = GUICtrlCreateListView('', 5, 5, 590, 400)
GUICtrlSetColor(-1, 0x0080C0);设置控件中的文本色
_GUICtrlListView_SetColumnWidth($ListView1, 0, 200)
_GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
_GUICtrlListView_SetBkColor($ListView1, $CLR_MONEYGREEN);设置控件背景色
_GUICtrlListView_SetTextBkColor($ListView1, $CLR_MONEYGREEN);设置控件中文本的背景色
_GUICtrlListView_SetOutlineColor($ListView1, 0x0000FF);设置边框色
_GUICtrlListView_SetView($ListView1, 1)
$But1 = GUICtrlCreateButton('添加', 110, 410, 80, 30, $WS_GROUP)
CreateGroup($ListView1, 1, '分组线', '项目-0', 'shell32.dll')
GUISetState()
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case - 3
                        Exit
                Case $But1
                        CreateGroup($ListView1, 1, '分组线', '新建项目-' & $z, 'shell32.dll')
                        $z += 1
        EndSwitch
WEnd

Func CreateGroup($hWnd, $iGroupID, $sHeader, $sText, $sImageFile);创建分组:参数1控件句柄、参数2分组ID、参数3分组标题、参数4项目文本、参数5项目图标。
        GUICtrlCreateListViewItem($sText, $hWnd)
        GUICtrlSetImage(-1, $sImageFile, 14)
EndFunc   ;==>CreateGroup

评分

参与人数 1威望 +2 收起 理由
afan + 2

查看全部评分

 楼主| 发表于 2010-8-24 10:12:28 | 显示全部楼层
楼上的辛苦了,但不是这样的效果。
发表于 2010-8-24 14:13:50 | 显示全部楼层
你要的是什么效果?说具体!
 楼主| 发表于 2010-8-24 14:23:25 | 显示全部楼层

这就是我想要的效果.窗口大小不变,图标数量不管是多还是少,都把窗口占满.

本帖子中包含更多资源

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

×
发表于 2010-8-24 14:34:40 | 显示全部楼层
本帖最后由 水木子 于 2010-8-24 14:39 编辑

郁闷!难道是编辑器出问题了?乱码!
#include <Constants.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>

GUICreate('ListView鍒嗙粍绾?, 600, 450)
$ListView1 = GUICtrlCreateListView('', 5, 5, 590, 400)
GUICtrlSetColor(-1, 0x0080C0);璁剧疆鎺т欢涓?殑鏂囨湰鑹?
_GUICtrlListView_SetColumnWidth($ListView1, 0, 200)
_GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
_GUICtrlListView_SetBkColor($ListView1, $CLR_MONEYGREEN);璁剧疆鎺т欢鑳屾櫙鑹?
_GUICtrlListView_SetTextBkColor($ListView1, $CLR_MONEYGREEN);璁剧疆鎺т欢涓?枃鏈?殑鑳屾櫙鑹?
_GUICtrlListView_SetOutlineColor($ListView1, 0x0000FF);璁剧疆杈规?鑹?
_GUICtrlListView_SetView($ListView1, 1)

For $i = 1 To 50
        CreateGroup($ListView1, 1, '鍒嗙粍绾?, '椤圭洰-0' & $i, 'shell32.dll')
Next
GUISetState()

Do
Until GUIGetMsg() = -3

Func CreateGroup($hWnd, $iGroupID, $sHeader, $sText, $sImageFile);鍒涘缓鍒嗙粍锛氬弬鏁?鎺т欢鍙ユ焺銆佸弬鏁?鍒嗙粍ID銆佸弬鏁?鍒嗙粍鏍囬?銆佸弬鏁?椤圭洰鏂囨湰銆佸弬鏁?椤圭洰鍥炬爣銆?
        GUICtrlCreateListViewItem($sText, $hWnd)
        GUICtrlSetImage(-1, $sImageFile, 16)
EndFunc   ;==>CreateGroup

本帖子中包含更多资源

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

×
发表于 2010-8-24 14:42:37 | 显示全部楼层
回复 6# 水木子


    的确乱码了,呵呵
#include <Constants.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>

GUICreate('ListView分组', 600, 450)
$ListView1 = GUICtrlCreateListView('', 5, 5, 590, 400)
GUICtrlSetColor(-1, 0x0080C0);设置控件中的文本
_GUICtrlListView_SetColumnWidth($ListView1, 0, 200)
_GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
_GUICtrlListView_SetBkColor($ListView1, $CLR_MONEYGREEN);设置控件背景
_GUICtrlListView_SetTextBkColor($ListView1, $CLR_MONEYGREEN);设置控件中文本的背景
_GUICtrlListView_SetOutlineColor($ListView1, 0x0000FF);设置边框
_GUICtrlListView_SetView($ListView1, 1)

For $i = 1 To 50
        CreateGroup($ListView1, 1, '分组', '项目-0' & $i, 'shell32.dll')
Next
GUISetState()

Do
Until GUIGetMsg() = -3

Func CreateGroup($hWnd, $iGroupID, $sHeader, $sText, $sImageFile);创建分组:控件句柄、分组ID、分组标题、项目文本、项目图标
        GUICtrlCreateListViewItem($sText, $hWnd)
        GUICtrlSetImage(-1, $sImageFile, 16)
EndFunc   ;==>CreateGroup
发表于 2010-8-24 14:44:22 | 显示全部楼层
回复 7# afan

呵呵!谢谢前辈重发,不过我挺郁闷,为什么代码突然乱码了。

昨天换了最新版本的AU3,就出问题了。
 楼主| 发表于 2010-8-24 14:54:10 | 显示全部楼层
算了.这个贴子还是收回吧.没有理想的答案.
发表于 2010-8-24 15:06:44 | 显示全部楼层
不要放弃呀!!
坚持下去给楼主打气下!
发表于 2010-8-24 15:17:45 | 显示全部楼层
本帖最后由 afan 于 2010-8-24 15:19 编辑

这个问题似乎并不难,难的是理解LZ的目的。
1,如果不像木子那样使用列表滚动条,数量多了怎么办?缩小图标和文字?
2,均分… 不管怎么排,行数和列数不一定刚好铺满,150个可以是15*10,151个呢?怎么排
发表于 2010-8-24 15:22:29 | 显示全部楼层
这个问题似乎并不难,难的是理解LZ的目的。
1,如果不像木子那样使用列表滚动条,数量多了怎么办?缩小图标 ...
afan 发表于 2010-8-24 15:17


是啊!我那个方法还是比较可行的,操作起来也比较方便。
发表于 2010-8-24 15:24:57 | 显示全部楼层
是啊!我那个方法还是比较可行的,操作起来也比较方便。
水木子 发表于 2010-8-24 15:22



    没错,而且可操作性是最佳的~
 楼主| 发表于 2010-8-26 11:44:32 | 显示全部楼层
操作些就用列表框来做比较好,有平均分布,的确是有难度的。
奇数就要多一排,偶数就刚好,这是很正常的。列表也是这样的。
数量越多,就只能用限制图标和方案的大小。这也是一定的。
不过还是谢谢你们费心了。我还是列表来做吧。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-11 13:06 , Processed in 0.102490 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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