Newsgroup: it.comp.lang.visual-basic
Titolo: selezione in TreeView tasto destro mouse

Richiedo in maniera differente la domanda che ho posto ieri
In un controllo TreeView come si fa a permettere la selezione dei nodi 
sia con il tasto destro che con il tasto sinistro del mouse?
Grazie
-- 
'gnurant come una cucuzza

 
Private Sub TreeView_MouseDown(ByVal sender As Object, ByVal e As 
System.Windows.Forms.MouseEventArgs) Handles TreeViewAZ.MouseDown
        If Me.TreeView.MouseButtons = MouseButtons.Left Or 
Me.TreeView.MouseButtons = MouseButtons.Right Then
            Me.TreeView.SelectedNode = Me.TreeView.GetNodeAt(e.X, e.Y)
        End If
    End Sub
mi rispondo così...ma è l'unico modo possibile?


 mi rispondo così...ma è l'unico modo possibile?
Veramente ti ho risposto prima io... (del resto, bastava dare un'occhiata 
ai metodi esposti dalla treeview)
E, per quanto ne so, si, è l'unico modo possibile...
Cos'è che non ti piace?
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

 wrote in message
news:200508031...@mynewsgate.net

No, ma se preferisci SubClassarlo e gestirne via API i Messaggi relativi
all'Hwnd del Tree quindi devi intercettare NM_RCLICK dopo aver passato
lParam alla struttura NMTREEVIEW(che trovi su MSDN) usando CopyMemory.
Chiaro che non è semplice, pertanto ti suggerisco di usare
quanto hai già intuito.
 
Se usi l'OCX è assurdo complicarsi la vita dato che il controllo
espone il metodo che hai utilizzato...!
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 No, ma se preferisci SubClassarlo e gestirne via API i Messaggi
Praticamente, come sparare con un cannone laser in orbita intorno alla 
terra, per uccidere la zanzara che ti ronza intorno.
A volte, leggere un po' di più la documentazione aiuta...
Ciao


 Ciao
Concordo pienamente con te, ma l'Utente ha chiesto un'alternativa
e mi pare che questa lo sia, pur scoraggiante....! ;-)
In ogni caso io non disponendo di Licenza per gli OCX
mi gestisco il TreeView via API proprio cosě direttamente dalla
Dll di Win e subclassando, e ti assicuro che non c'č nessun problema.
Saluti


Ma io volevo appunto progettare un cannone laser da posizionare sulla stazione 
orbitante internazionale per incenerire le zanzare che mi rompono la notte! :o)
Non è che non mi vada bene la mia soluzione Alessandro, ma speravo che sbucasse 
una sorta di proprietà TreeView.PreSelectedItem, sebbene abbia letto e riletto 
almeno 5 volte tutte le proprietà delle TreeView, anche quelle che non usa 
nessuno sulla terra
Ciauz


 Ciauz
Beh se vuoi fare il cannone laser fatti una Classe che Wrappa
l'Ocx e creati il Nuovo metodo...!
;-)
Questa volta č andata male non č sbucato nulla di utile.
Ciao


 Dll di Win e subclassando, e ti assicuro che non c'è nessun problema.
Ciao Alessandro,
fai attenzione al fatto che non si stava parlando della TreeView presente 
nei Common Controls di VB6, ma di quella presente nel .NET Framework 
(namespace System.Windows.Forms)
Pertanto, sebbene sia sempre possibile effettuare il subclassing, non ha 
senso in questo contesto, data la facilità con la quale è possibile 
ottenere il riferimento cercato da "'gnurant" tramite i metodi esposti 
dalla TreeView "managed".


 TreeView, anche quelle che non usa nessuno sulla terra
Ma che senso ha una "PreSelectedItem" ?
Ragionaci sopra, e ti renderai conto che non ha nessun significato...
Al limite, ma proprio al limite, potrebbe esserti utile un 
PreviousSelectedItem ovvero una proprietà che ritorna il riferimento al 
nodo precedentemente selezionato (se esistente) rispetto l'attuale.
Nulla che non puoi fare con 1 (dico una) riga di codice...
