找回密码
 加入
搜索
楼主: linkuncool

[GUI管理] 【已解决】关于GUI 的问题 怎么做一个滚动栏

 火.. [复制链接]
发表于 2010-5-2 21:15:56 | 显示全部楼层
回复  水木子


    那意思说 一行 只能一个CHECKBOX 喽  

    就是一列下来
linkuncool 发表于 2010-5-2 18:51


谁说的? ListView控件照样可以做一行多个复选框啊!

本帖子中包含更多资源

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

×
发表于 2010-5-2 21:49:28 | 显示全部楼层
回复  xuanfeng1234567


自己算下嘛

你看一行 有3个checkbox   每行的 checkbox  纵坐标 都一样  ...
linkuncool 发表于 2010-5-2 18:49


大哥,你这不是误导人吗?不用这么麻烦吧,用LISTVIEW可以实现楼主的需要吧。
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\Program Files\Autoit3\Aut2Exe\Icons\netscape.ico
#AutoIt3Wrapper_UseAnsi=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
 
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiListBox.au3>
#Include <GuiListView.au3>
#Include <GuiImageList.au3>
$x = 730
$y = 571
$Form1 = GUICreate("Form1", $x, $y, 193, 125,$WS_OVERLAPPEDWINDOW)
 
$List1 = GUICtrlCreateListView("", 32, 32, $x-50, $y-40)
 
$Menu = GUICtrlCreateContextMenu($List1)
$About = GUICtrlCreateMenuItem("执行",$Menu)
$Refresh = GUICtrlCreateMenuItem("刷新",$Menu)
 
GUICtrlSetStyle($List1,BitOR($LVS_NOCOLUMNHEADER,$LVS_ICON,$LVS_SORTASCENDING,$LVS_SINGLESEL),$LVS_EX_CHECKBOXES)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
$Image = _GUIImageList_Create(32,32,5)
For $i = 1 To 50
        _GUIImageList_AddIcon($Image,"c:\WINDOWS\system32\shell32.dll",$i,True)
        _GUICtrlListView_SetImageList($List1,$Image,0)
        _GUICtrlListView_AddItem($List1,"第"&$i&"个",$i-1) 
Next
 
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $About
                        $Index = _GUICtrlListView_GetSelectedIndices($List1)
                        If $Index <> "" Then
                                $L_Name = _GUICtrlListView_GetItemText($List1,Int($Index),0)
                                MsgBox(0,"鼠标右键",$Index&"你执行的是  "&$L_Name)
                        EndIf
                Case $Refresh
                        _GUICtrlListView_Arrange($List1,2)
                Case $GUI_EVENT_MAXIMIZE
                        _GUICtrlListView_Arrange($List1,2)
                Case $GUI_EVENT_RESTORE
                        _GUICtrlListView_Arrange($List1,2)
                Case $GUI_EVENT_RESIZED
                        _GUICtrlListView_Arrange($List1,2)
        EndSwitch
WEnd
 
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
        Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo ,$Menu
        $hWndListView = $List1
        If Not IsHWnd($List1) Then $hWndListView = GUICtrlGetHandle($List1)
        $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
        $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
        $iCode = DllStructGetData($tNMHDR, "Code")
        Switch $hWndFrom
                Case $hWndListView
                        Switch $iCode
                                Case $NM_DBLCLK ; 响应 List1 范围内的双击
                                        $Index = _GUICtrlListView_GetSelectedIndices($hWndListView)
                                        If $Index <> "" Then
                                                $L_Name = _GUICtrlListView_GetItemText($hWndListView,$Index)
                                                MsgBox(0,"响应双击","你选择的是  "&$L_Name)
                                        EndIf
                        EndSwitch
                EndSwitch
        Return $GUI_RUNDEFMSG
EndFunc  

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-5-2 22:36:11 | 显示全部楼层
回复 15# xuanfeng1234567


    呵呵 客气了
 楼主| 发表于 2010-5-3 03:14:23 | 显示全部楼层
OK   谢谢解决了

谢谢大家喽
发表于 2010-5-3 07:20:42 | 显示全部楼层
学习了......
发表于 2010-5-4 10:40:58 | 显示全部楼层
这个界面真的很漂亮。
发表于 2010-5-6 09:14:27 | 显示全部楼层
占个位置学习学习
发表于 2010-5-6 13:52:58 | 显示全部楼层
学习一下,以前也只认为每行只有一个CHECKBOX
发表于 2010-5-8 11:55:49 | 显示全部楼层
楼主的软件做的真不错啊。
发表于 2014-3-20 15:47:19 | 显示全部楼层
ListView....比较简单实现
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 21:14 , Processed in 0.082099 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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