Newsgroup: it.comp.lang.visual-basic
Titolo: ListView ma non è esattamente lo stesso  che in Windows?

Salve, come da oggetto mi (e vi) chiedevo se il componente ListView del 
pacchetto Microsoft Windows Common Control 6.0 (SP4) si comporti 
esattamente come il listview che utilizza Windows per le finestre.
Infatti quelli di Windows mi lascia selezionare file/cartelle se clicco 
sul loro nome, mentre se clicco in una zona vuota (o sui dettagli, o 
sulla dimensione) mi deseleziona l'oggetto.
Parl della visualizzazione in modalità dettagli che nelle proprietà del 
LV è la Report.
Mentre quando utilizzo il controllo nei miei progetti VB per 
DESELEZIONARE un oggetto dall'elenco devo fare un doppio click in una 
zona vuota (parlo sempre della modalità Report).
Questo ovviamente mi comporta dei problemi.
Ho pensato di distignuere il CLICK dall'ITEMCLICK ma quando clicco su 
una zona che non corrisponde al nome dell'elemento (la prima colonna) 
avviene il CLICK, mentre se clicco su un elemento si presentano in 
ordine ItemClick e Click (e dovevo aspettarmelo).
Insomma può essere che non posso capire immediatamente se sto cliccando 
su un elemento o meno?
Thx in anticipo!
-- 
Rivolterò il mondo per trovarlo, e anche se andasse in Indocina uno dei 
nostri starà nascosto in una ciotola di riso pronto a sparargli nel culo.
(Pulp Fiction)

 cliccando su un elemento o meno?
Mi pare che la ListView indichi anche X e Y del punto di click (o mouse<down
up>)
Facendo un po' di conti con i contenuti della riga (o cella) cliccata e il
suo contenuto (Text<Width Height>) potresti determinare se sei in "zona
bianca" o meno.
Personalmente semplificherei imponendo un comportamento operativo preciso,
magari usando il pulsante destro e un eventuale menù popup.

 magari usando il pulsante destro e un eventuale menù popup.
Si sarebbe una soluzione, ma io vorrei fare in modo che cliccando su una 
riga della LV alcuni dei campi vengano visualizzati in delle caselle di 
testo sottostanti, altrimenti (click in una zona libera) queste caselle 
di testo risultino vuote.
Potrei anche lasciar stare il caso ELSE, ma sinceramente mi stupisce il 
fatto che un controllo del genere non implementi questa cosa.
Vedrò di trovare qualche alternativa...
Cmq grazie per la risposta e se ti salta in mente qualche idea sono 
lietissimo di saperla :)


 lietissimo di saperla :)
Già dette.

 sulla dimensione) mi deseleziona l'oggetto.
Si, e' la stessa, ma tieni conto che in genere gli OCX sono dei sottoinsiemi
delle funzioni di Windows. Cioe', l'interfaccia base di Windows non funziona
per OCX, gli OCX esistono per fornire scorciatoie verso le funzioni interne
dell'OS.
Cmq, riallacciandomi al mex di Lupo, puoi usare le coordinate X ed Y
restitute dagli eventi di MouseDown/Up con il metodo HitTest, che e' il modo
piu' semplice per sapere dove l'utente ha clickato.
Consiglio personale: con il controllo ListView puoi farci veramente una
quantita' incredibile di cose, ma la cosa migliore che puoi farci e' dare
un'occhiata all'help e capire veramente fino in fondo cosa ti mette a
disposizione :-)

 disposizione :-)
Beh si ti ringrazio tantissimo e ringrazio anche tutti gli altri che mi 
hanno risposto!!!
