siuchingchow 发表于 2009-10-11 08:46:11

listview 怎样分列显示完整数据

本帖最后由 pusofalse 于 2010-2-18 19:02 编辑

我想将映像劫持的数据全部用一列横排显示全部数据,但是下面的代码显示很多列,数据不能完整显示,需要点才行,请问各位大侠怎样才能不要那么多的列,比如只要6列,请问该如何做?不胜感激!代码如下:
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiListBox.au3>
#Include <GuiListView.au3>
$x = 730
$y = 571
$Form1 = GUICreate("Form1", $x, $y, 193, 125,$WS_OVERLAPPEDWINDOW)
$List1 = GUICtrlCreateListView("", 32, 32, $x-50, $y-40)
        $menu1 = GUICtrlCreateContextMenu($List1);在指定控件或GUI窗口上创建右键菜单。GUICtrlCreateContextMenu ( [控件ID] )
        $delrunning=GUICtrlCreateMenuItem("删除", $menu1);在使用本函数创建右键菜单的主控件之后,即可使用 GUICtrlCreateMenuItem 来创建每个菜单项。
GUICtrlSetStyle($List1,BitOR($LVS_NOCOLUMNHEADER,$LVS_SORTASCENDING,$LVS_SINGLESEL),$LVS_SHOWSELALWAYS=0x0008)
GUISetState(@SW_SHOW)
read()
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
      EndSwitch
WEnd
Func Read()

      $Sum = 0
$i=1               
                While 1
                        $Key = RegEnumKey("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options", $i)
         If @error Then ExitLoop
            GUICtrlCreateListViewItem($key ,$List1)
            $i=$i+1
                        WEnd
        EndFunc

nxbigdaddy 发表于 2010-2-17 10:59:33

我也有相同的问题,有人能给解决一下吗!?

netegg 发表于 2010-2-17 12:08:29

LZ可不可以把问题说的再清楚一点,不是很明白

lainline 发表于 2010-2-17 12:16:11

#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiListBox.au3>
#Include <GuiListView.au3>
$x = 730
$y = 571
$Form1 = GUICreate("Form1", $x, $y, 193, 125)
$List1 = GUICtrlCreateListView("11111111|11111111|11111111|11111111|11111111|11111111", 32, 32, $x-50, $y-40,$WS_EX_ACCEPTFILES)
       $menu1 = GUICtrlCreateContextMenu($List1);在指定控件或GUI窗口上创建右键菜单。GUICtrlCreateContextMenu ( [控件ID] )
      $delrunning=GUICtrlCreateMenuItem("删除", $menu1);在使用本函数创建右键菜单的主控件之后,即可使用 GUICtrlCreateMenuItem 来创建每个菜单项。
;GUICtrlSetStyle($List1,BitOR($LVS_NOCOLUMNHEADER,$LVS_SORTASCENDING,$LVS_SINGLESEL),$LVS_SHOWSELALWAYS=0x0008)
GUISetState(@SW_SHOW)
read()
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
      EndSwitch
WEnd
Func Read()
Local $Key2
      $Sum = 0
$i=1               
                While 1
                        $Key = RegEnumKey("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options", $i)
         If @error Then ExitLoop
                        $Key2=$Key2& $Key & "|"
                   If $i/6 = Int ($i/6) Then
                   GUICtrlCreateListViewItem($Key2,$List1)
                   $Key2=""
                   EndIf
            $i=$i+1
                WEnd
                ;MsgBox (0,"1",$Key2)
               
      EndFunc

lainline 发表于 2010-2-17 12:21:38

上面代码好像会丢掉几个后面的 你自己改下

renly 发表于 2010-2-18 13:40:06

帮助里有现成的例子哦
页: [1]
查看完整版本: listview 怎样分列显示完整数据