Chip, I still am not having any success with this listview.

What I did find out, is that when the listview items are listed in the
.xml file, the following line works for getting all items in a row:

 

TextToSpeak = dObj.Control("lv_sample1").Text & " " &
dObj.Control("lv_sample1").Text(, 1) & " " &
dObj.Control("lv_sample1").Text(, 2)  

Note the commas.

The script for this and the xml follow.

When, however, the listview items are added from the script itself, I
still am at a loss.

 

 

' DialogListView

' listview items set in xml file

Dim isVisible : isVisible = 0

 

Dim myHotkey : Set myHotkey =
Keyboard.RegisterHotkey("Alt-Control-Shift-I","LaunchDialog")

 

Sub LaunchDialog()

If isVisible = 0 Then

Queue "DisplayDialog"

End If

End Sub

 

Sub DisplayDialog()

Dialog "DialogListView.xml", "MyDialog1", "DialogEventHandler"

End Sub

 

Function DialogEventHandler(dObj, dEvent, dId, dControl)

DialogEventHandler = False

Select Case dId

Case "btn_ok"

If dEvent = buttonClicked Then

SpeakResult dObj, dEvent, dId, dControl

DialogEventHandler = True

Exit Function

End If

 

Case "btn_cancel"

If dEvent = buttonClicked Then

Speak "closing dialog "

Sleep 200

 

isVisible = 0

dObj.Close

DialogEventHandler = True

Exit Function

End If

 

Case Else

If dEvent = dialogCreated Then

isVisible = 1

DialogEventHandler = True

Exit Function

End If

End Select

End Function

 

Function SpeakResult(dObj, dEvent, dId, dControl)

Dim textToSpeak

' for just first column

' TextToSpeak = dObj.Control("lv_sample1").Text 

 

' for all three columns

TextToSpeak = dObj.Control("lv_sample1").Text & " " &
dObj.Control("lv_sample1").Text(, 1) & " " &
dObj.Control("lv_sample1").Text(, 2)  

Speak "You have chosen " & textToSpeak

                

End Function

 

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<wescriptui>

<options>

<languageorder>

WE,OS,en-us

</languageorder>

</options>

<language id="en-us">

 

<dialog id="MyDialog1">

Dialog ListView

<group>

<group orientation="vertical">

<listview id="lv_sample1">

<listviewcolumn>

Name

</listviewcolumn>

<listviewcolumn>

Color

</listviewcolumn>

<listviewcolumn>

Number

</listviewcolumn>

<listviewitem>

Option 1

<subitem>

Red

</subitem>

<subitem>

4221

</subitem>

</listviewitem>

<listviewitem>

Option 2

<subitem>

Green

</subitem>

<subitem>

1235

</subitem>

</listviewitem>

<listviewitem>

Option 3

<subitem>

Orange

</subitem>

<subitem>

6414

</subitem>

</listviewitem>

</listview>

</group>

<group>

<button id="btn_ok" system="ok" default="yes" widthclass="btn">

OK

</button>

<button id="btn_cancel" system="cancel" widthclass="btn" width="+10">

Close

</button>

</group>

</group>

</dialog>

 

</language>

</wescriptui>    

 

 

 

From: Chip Orange [mailto:[email protected]] 
Sent: Saturday, October 30, 2010 8:20 PM
To: [email protected]
Subject: RE: adding new items to a listview

 

Jeff,

 

here's a bit of the documentation example used in the insert method of
the listViewItem object; it shows how you set the values for each column
in the listView with a separate assignment statement for each one.  the
very first column, the person's name in this case, should be the only
value in your assignment statement for the .text property; you should
remove all the rest of the items (except for the name) from those lines
as the example below shows:

 

' Now we'll add a single item to the list view
Set newLVItem = dObj.Control("listview1").NewItem
newLVItem.Text = "Aaron"
newLVItem.Insert dObj.Control("listview1").Items.Count + 1
newLVItem.Text(1) = "Obsidian Blue"
newLVItem.Text(2) = "42"
' The list view now contains a single item, which Window-Eyes would read
(by default),
"Aaron, Favorite Color Obsidian Blue, Favorite Number 42."

 

 

 

________________________________

From: Jeff Weiss [mailto:[email protected]] 
Sent: Friday, October 29, 2010 9:19 AM
To: [email protected]
Subject: RE: adding new items to a listview

This is supposed to show the name, favorite color, and favorite number.


The XML and VBS files follow:

 

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<wescriptui>

<options>

<languageorder>

WE,OS,en-us

</languageorder>

</options>

<language id="en-us">

 

<dialog id="MyDialog1">

Dialog ListView

<group>

<group orientation="vertical">

<listview id="listview1" view="report">

<listviewcolumn>

Name

</listviewcolumn>

<listviewcolumn>

Favorite Color

</listviewcolumn>

<listviewcolumn>

Favorite Number

</listviewcolumn>

</listview>

</group>

<group>

<button id="btn_ok" system="ok" default="yes" widthclass="btn">

OK

</button>

<button id="btn_cancel" system="cancel" widthclass="btn" width="+10">

Close

</button>

</group>

</group>

</dialog>

 

</language>

</wescriptui>

 

 

Option Explicit 

 

' We'll assume we have a list view whose ID is "listview1" which
contains no items by default 

 

Dim isVisible : isVisible = 0

Dim Mark

Dim MyHotkey : Set MyHotkey =
Keyboard.RegisterHotkey("Control-Alt-Shift-I", "LaunchDialog")

 

Sub LaunchDialog()

If isVisible = 0 Then

Queue "DisplayDialog"

End If

End Sub

 

Sub DisplayDialog()

Dialog "DialogListViewFromScript.xml", "MyDialog1", "DialogEventHandler"

End Sub

 

Function DialogEventHandler(dObj, dEvent, dId, dControl)

 

DialogEventHandler = False

 

' Now we'll add items to the list view

 

If Mark < 1 Then

 

Dim NewLvItem

Set newLVItem = dObj.Control("listview1").NewItem

newLVItem.Text = "Aaron" & " " & dObj.Control("listview1").Text(1) & " "
& dObj.Control("listview1").Text(2)

newLVItem.Insert dObj.Control("listview1").Items.Count+1

newLVItem.Text(1) = "Obsidian Blue"

newLVItem.Text(2) = "42"

 

Dim NewLvItem2

Set newLVItem2 = dObj.Control("listview1").NewItem

newLVItem2.Text = "Jeff" & " " & dObj.Control("listview1").Text(1) & " "
& dObj.Control("listview1").Text(2)

newLVItem2.Insert dObj.Control("listview1").Items.Count+1

newLVItem2.Text(1) = "Red"

newLVItem2.Text(2) = "97"

 

Dim NewLvItem3

Set newLVItem3 = dObj.Control("listview1").NewItem

newLVItem3.Text = "Doug" & " " & dObj.Control("listview1").Text(5) & " "
& dObj.Control("listview1").Text(6)

newLVItem3.Insert dObj.Control("listview1").Items.Count+1

newLVItem.Text(1) = "Orange"

newLVItem.Text(2) = "256"

 

Mark = Mark + 1

End If

 

' The list view  items would be read as "Aaron, Favorite Color Obsidian
Blue, Favorite Number 42."

 

Select Case dId

Case "btn_ok"

If dEvent = buttonClicked Then

SpeakResult dObj, dEvent, dId, dControl

DialogEventHandler = True

Exit Function

End If

 

Case "btn_cancel"

If dEvent = buttonClicked Then

Speak "close"

Sleep 200

 

isVisible = 0

dObj.Close

DialogEventHandler = True

Exit Function

End If

 

Case Else

If dEvent = dialogCreated Then

isVisible = 1

DialogEventHandler = True

Exit Function

End If

End Select

End Function

 

Sub SpeakResult(dObj, dEvent, dId, dControl)

Dim textToSpeak

 

' for just first column text

' TextToSpeak = dObj.Control("listview1").Text 

 

' for entire row

TextToSpeak = dObj.Control("listview1").Text & " " &
dObj.Control("listview1").Text(1) & " " &
dObj.Control("listview1").Text(2) 

Speak "You have chosen " & textToSpeak

End Sub

 

 

 

 

From: Chip Orange [mailto:[email protected]] 
Sent: Friday, October 29, 2010 6:31 AM
To: [email protected]
Subject: RE: adding new items to a listview

 

Hi Jeff,

 

Not that I blame you, the documentation for these two topics (listview
and listviewitem) really could use some reworking for clarity's sake. 

 

however, your lines like:

 

newLVItem.Text = "Aaron" & " " & dObj.Control("listview1").Text(1) & " "
& dObj.Control("listview1").Text(2)

 

don't seem to mean anything to me;  I mean, the portion beyond the
string of "Aaron" that is.

 

maybe if you said what the listview should look like it would be clearer
to me?

 

thanks.

 

Chip

 

 

________________________________

From: Jeff Weiss [mailto:[email protected]] 
Sent: Thursday, October 28, 2010 11:56 AM
To: [email protected]
Subject: adding new items to a listview

I am trying to figure out how to add additional items to a listview.

I want to add the items in my .vbs file.

What's wrong with these to items? I am not sure how to increment to the
next items:

 

 

If Mark < 1 Then

 

Dim NewLvItem

Set newLVItem = dObj.Control("listview1").NewItem

newLVItem.Text = "Aaron" & " " & dObj.Control("listview1").Text(1) & " "
& dObj.Control("listview1").Text(2)

newLVItem.Insert dObj.Control("listview1").Items.Count   + 1

newLVItem.Text(1) = "Obsidian Blue"

newLVItem.Text(2) = "42"

 

' here's the second item I am trying to add:

Dim NewLvItem2

Set newLVItem2 = dObj.Control("listview1").NewItem

newLVItem2.Text = "Jeff" & " " & dObj.Control("listview1").Text(1) & " "
& dObj.Control("listview1").Text(2)

newLVItem2.Insert dObj.Control("listview1").Items.Count + 1 

newLVItem2.Text(1) = "Red"

newLVItem2.Text(2) = "97"

 

Mark = Mark + 1

End if

 

Any help appreciated.

Jeff Weiss

 

Reply via email to