On 14-May-07, at 10:44 AM, Tomas Camin wrote:
> Hi,
>
> under Windows and Mac (linux not tested) when
> mylistbox.selectiontype=Listbox.SelectionMultiple current row
> selection will be lost when right clicking (or cmd clicking):
>
> start an empty project
> add a listbox and populate it with a couple of items
> set selectiontype=Listbox.SelectionMultiple
> add some items to the contextual menu
>
> run the app
> select some rows
> right click (or cmd click)
> previous selection is lost and only one row is selected.
>
> Is this a bug or am I doing something wrong?
>
> Instead of constructcontextualmenu I've been using a workaround
> suggested by Karen in an older post (calling menuitem.popup in
> mousedown) but there is a bug under Windows that force me to use the
> constructcontextualmenu.
>
> Now some code:
>
> -- mylistbox.constructcontextualmenu:
> dim m as MenuItem
>
>
> m=New MenuItem
> m.text="menuitem test"
> base.append m
>
> return true
>
> -- mylistbox.open:
> dim i as integer
>
>
> for i=0 to 100
> me.AddRow "test"
> next
>
> me.SelectionType=Listbox.SelectionMultiple
>
if you check I think you'll find you get both the cellclick and
mousedown and that's what seems to be deselecting everything
you can catch this by inserting, in the cellclick, something like
if Keyboard.AsyncControlKey or IsContextualClick then
return true
end if
and the selection will not be changed BUT the ConstructContextualMenu
will not be called either
If you could use the menuitem.popup then you could have the
contextual menu show up
You could use something like
if Keyboard.AsyncControlKey or IsContextualClick then
dim base as New MenuItem
dim m as MenuItem
m=New MenuItem
m.text="menuitem test"
base.append m
m = base.PopUp
return true
end if
Not sure how you get this effect if you have to use
ConstructContextualMenu
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>