#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
Opt("TrayMenuMode", 1)
$dir = @ScriptDir&"\config.ini"
GUICreate("列表框操作", 280, 270)
$ListView1 = GUICtrlCreateListView("账号 |密码 |", 10, 10, 260, 150)
$But1 = GUICtrlCreateButton("添加", 185, 178, 75, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 60, 180, 120, 21)
$Input2 = GUICtrlCreateInput("", 60, 220, 120, 21)
GUICtrlCreateLabel("账号:", 20, 183, 36, 17)
GUICtrlCreateLabel("密码:", 20, 223, 36, 17)
GUICtrlCreateLabel("数据", 200, 223, 36, 17)
$Label1 = GUICtrlCreateLabel("0", 230, 223, 36, 17)
;右键菜单
$zhucaidan = GUICtrlCreateContextMenu($ListView1)
$add = GUICtrlCreateMenuItem("添加数据", $zhucaidan)
GUICtrlCreateMenuItem("", $zhucaidan)
$del = GUICtrlCreateMenuItem("删除数据", $zhucaidan)
GUICtrlCreateMenuItem("", $zhucaidan)
$break = GUICtrlCreateMenuItem("刷新数据", $zhucaidan)
GUISetState(@SW_SHOW)
Read()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $But1,$add
Add()
Case $del
Del()
Case $break
Read()
EndSwitch
WEnd
Func Read()
$z = 0
_GUICtrlListView_DeleteAllItems($ListView1)
$read = IniReadSection($dir,"config")
If Not @error Then
For $i = 1 To $read[0][0]
GUICtrlCreateListViewItem($read[$i][0], $ListView1)
_GUICtrlListView_AddSubItem($ListView1, $z, $read[$i][1], 1, $z+1)
GUICtrlSetData($Label1,$z+1)
$z += 1
Next
EndIf
EndFunc
Func Add()
$a = GUICtrlRead($Input1)
$b = GUICtrlRead($Input2)
$z = GUICtrlRead($Label1)
If $a <> "" And $b <> "" Then
IniWrite($dir,"config",$a,$b)
GUICtrlCreateListViewItem($a, $ListView1)
_GUICtrlListView_AddSubItem($ListView1, $z, $b, 1, $z+1)
MsgBox(0,"提示"," 账号: "&$a&" 密码: "&$b&" 保存成功 ")
GUICtrlSetData($Input1,"")
GUICtrlSetData($Input2,"")
GUICtrlSetData($Label1,$z+1)
GUICtrlSetState($Input1, $GUI_FOCUS)
EndIf
EndFunc
Func Del()
$a = _GUICtrlListView_GetSelectedIndices($ListView1)
$b = _GUICtrlListView_GetItemTextString($ListView1, Number($a))
$chaifen = StringSplit($b,"|")
$a = MsgBox(32+1,"提示","请确认是否删除以下数据"&@CRLF&@CRLF&"账号:"&$chaifen[1]&@CRLF&@CRLF&"密码:"&$chaifen[2])
If $a = 1 Then
_GUICtrlListView_DeleteItemsSelected($ListView1) ;删除选定项目
IniDelete ($dir,'config', $chaifen[1])
$z = _GUICtrlListView_GetItemCount($ListView1)
GUICtrlSetData($Label1, $z)
;MsgBox(48, "提示", "数据删除成功")
EndIf
EndFunc