Jump to content

Delete item from list by name


Go to solution Solved by PhoenixXL,

Recommended Posts

Title say all. I have search this for a couple of days with no result.

The script:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
    Local $listview, $button, $item1, $item2, $item3, $input

    GUICreate("listview items", 220, 250, 100, 200)
    $listview = GUICtrlCreateListView("a list of names", 10, 10, 200, 150)
    $button = GUICtrlCreateButton("delete", 75, 170, 70, 20)
    $item1 = GUICtrlCreateListViewItem("dog", $listview)
    $item2 = GUICtrlCreateListViewItem("cat", $listview)
    $item3 = GUICtrlCreateListViewItem("superman", $listview)
    $input = GUICtrlCreateInput("dog", 20, 200, 150)
    GUISetState(@SW_SHOW)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $button
                $ans = MsgBox(64, "Are you sure?", "delete " & GUICtrlRead($input) & " item?")
;~              If $ans = 1 Then do something
        EndSwitch
    WEnd
EndFunc   ;==>Example

So it's possible to delete an item of a listview only using the name? Thanks

Nothing is so strong as gentleness. Nothing is so gentle as real strength

 

Link to comment
Share on other sites

  • Solution

Check it

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>

Example()

Func Example()
    Local $listview, $button, $item1, $item2, $item3, $input

    GUICreate("listview items", 220, 250, 100, 200)
    $listview = GUICtrlCreateListView("a list of names", 10, 10, 200, 150)
    $button = GUICtrlCreateButton("delete", 75, 170, 70, 20)
    $item1 = GUICtrlCreateListViewItem("dog", $listview)
    $item2 = GUICtrlCreateListViewItem("cat", $listview)
    $item3 = GUICtrlCreateListViewItem("superman", $listview)
    $input = GUICtrlCreateInput("dog", 20, 200, 150)
    GUISetState(@SW_SHOW)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $button
                $ans = MsgBox(64, "Are you sure?", "delete " & GUICtrlRead($input) & " item?")
                If $ans = 1 Then DeleteItemByName(GUICtrlRead($input), GUICtrlGetHandle($listview))
        EndSwitch
    WEnd
EndFunc   ;==>Example

Func DeleteItemByName($s_Text, $hListView)

    $iItem = _GUICtrlListView_FindText($hListView, $s_Text, -1, False, False)
    If $iItem < 0 Then Return 0

    _GUICtrlListView_DeleteItem($hListView, $iItem)

EndFunc   ;==>DeleteItemByName

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...