Newsgroup: it.comp.lang.visual-basic
Titolo: incredibile

raga non riesco a fare una stupidaggine...devo fare in modo che quando
doppioclicco (perň solo col tasto sx deve funzionare) su un'immagine mi si
apra una finestra...perň usando dblclick, la finestra mi si apre perň
facendo doppio click sia sia col tasto dx che sx
Private Sub i_suono_DblClick()
fm_volume.Visible = True
End Sub
La stessa cosa la devo fare utilizzando le immagini di
un'imagelist...stavolta perň mi funziona col singolo click del tasto
sx...mentre io voglio il doppio click!!!
Private Sub ls1_ItemClick(ByVal Item As ComctlLib.ListItem)
If Item.Index = 1 Then fm_risorse_computer.Visible = True
If Item.Index = 4 Then fm_documenti.Visible = True
If Item.Index = 5 Then fm_cestino.Visible = True
End Sub
raga vi prego rispondete il piů presto possibile e'
urgenteeeeeeeee!!!!!!!!!!!!

 apre perň facendo doppio click sia sia col tasto dx che sx
Usa MouseUp e testa il vbLeftButton

 Usa MouseUp e testa il vbLeftButton
Mi era sfuggito il concetto del doppio-click. Pardon

 urgenteeeeeeeee!!!!!!!!!!!!
cercherň di fare in fretta! ;-)

sul SC c'è un modulo per la gestione del mouse, mi pare MouseBas.bas.....può
servire?
non ci ho ragionamento molto, però effettivamente devi usare il MouseDown o
il MouseUp, che "capiscono" quale tasto è stato premuto sul mouse......
oppure fai tutto a manina. Cioè. Sul MouseDown, vedi quale pulsanti è stato
premuto. Se Button = 2, allora incrementi una variabile di 1.
Un timer la rimette a 0 dopo, per dire, 500 ms (tempo del doppio-click).
se la variabile raggiungere >=2, allora vuol dire che hai doppiocliccato due
volte nell'arco di 500ms......giusto?
allora fai quello che devi fare, cioè aprire l'immagine......
funziona questa idea?
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 allora fai quello che devi fare, cioč aprire l'immagine......
E' esattamente la prima cosa che ho pensato anch'io per la seconda parte del
suo problema, ma mi sembrava un po' macchinoso..... comunque credo non ci
sia alternativa.
Spero di essere smentito! ;-)
ciaociao

Hola Morpheus :))
Non so se ho capito bene, comunque ecco qui...
Option Explicit
Dim mouseSX As Boolean
Private Sub Picture1_DblClick()
    If mouseSX = True Then
        MsgBox "done!"
        mouseSX = False
    End If
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X
As Single, Y As Single)
    If Button = 1 Then mouseSX = True
End Sub
-> GbC|
www.gbcweb.com

 sx...mentre io voglio il doppio click!!!
<CUT>
potrebbe essere:
Option Explicit
    Dim Bottone As Integer
    Dim DoppioClick As Boolean
Private Sub Form_Load()
    ListView1.ListItems.Add , , "1", "uno"
    ListView1.ListItems.Add , , "2", "due"
    ListView1.ListItems.Add , , "3", "tre"
End Sub
Private Sub Image1_DblClick()
    If Bottone = vbLeftButton Then MsgBox "DoppioClick"
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)
    Bottone = Button
End Sub
Private Sub ListView1_DblClick()
    DoppioClick = True
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
    If DoppioClick = True And Bottone = vbLeftButton Then
        Select Case Item.Index
            Case 1
                MsgBox "DoppioClick su 1"
            Case 2
                MsgBox "DoppioClick su 2"
            Case 3
                MsgBox "DoppioClick su 3"
        End Select
    End If
    DoppioClick = False
End Sub
Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As
Single, y As Single)
    Bottone = Button
End Sub
anche se mi pare che la presenza della rotellina di scorrimento del mouse e
la listview diano dei problemi, per il resto concettualmente dovrebbe
funzionare.
beppe

facendo doppio click sia sia col tasto dx che sx
In aggiunta ai validi suggerimenti degli altri, ti presento un'idea
che elimina la necessita' di gestirsi una variabile membro nel form.
In un modulo scrivi:
<code>
Option Explicit
Private Const SM_SWAPBUTTON = 23
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex
As Long) As Long
Private Const VK_LBUTTON = &H1
Private Const VK_RBUTTON = &H2
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As
Long) As Integer
Public Function IsLeftButton() As Boolean
    If (GetAsyncKeyState(VK_LBUTTON)) Then
        ' e' stato premuto il tasto sinistro
        If (GetSystemMetrics(SM_SWAPBUTTON)) Then
            ' poiche' sono stati invertiti i tasti
            ' il tasto logico in realta' e' il destro
            IsLeftButton = False
        Else
            ' OK
            IsLeftButton = True
        End If
    Else
        If (GetAsyncKeyState(VK_RBUTTON)) Then
            ' e' stato premuto il tasto destro e non quello centrale
            If (GetSystemMetrics(SM_SWAPBUTTON)) Then
                ' poiche' i tasti sono stati invertiti allora
                ' il tasto logico e' proprio quello sinistro
                IsLeftButton = True
            Else
                ' niente da fare
                IsLeftButton = False
            End If
        Else
            IsLeftButton = False
        End If
    End If
End Function    '// IsLeftButton
</code>
Ora un esempio di utilizzo, con un form vuoto:
<code>
Option Explicit
Private Sub Form_DblClick()
    If (IsLeftButton()) Then
        Me.Caption = "SINISTRO"
    Else
        Me.Caption = "DESTRO"
    End If
End Sub
</code>
Enjoy!
-- 
ciao, hal

             ' il tasto logico in realta' e' il destro
Molto pulito il lavoro con la SystemMetrics
In effetti volevo suggerire l'utilizzo dell'Api GetAsyncKeyState, ma non
avrei pensato a chi inverte i tasti per impostazione.
Mi chiedo quanti effettivamente usino la metrica invertita dei tasti del
mouse: essendo io totalmente mancino, ho provato tale impostazione; come
risultato ho impiegato 10 minuti a rispristinare l'impostazione precedente,
cioč a fare due click :)
termoPilucco.


ma come diavolo fà la microsoft in winzozz????

 Spero di essere smentito! ;-)
Se č l'unica soluzione dovresti aiutarmi essendo un pň piů preciso col
codice esatto...ma come diavolo farŕ la microsoft!!!!!!! GRRRRRRRRRRRR
grazie ancora

 il MouseUp, che "capiscono" quale tasto è stato premuto sul mouse......
Cos'è stà cosa a me del tutto sconosciuta! Potresti essere più preciso!?


mannaggia la microsoft...visto che in windows ha usato tutto ciň perchč nn
ci semplificava le cose in vb!!!!!!!!!!!!


[cut]
grazie mille...ma troppo compoicato per i miei gusti
piuttosto sefrvirebbe una soluzione al secondo problema....che purtroppo
permane!!!

 ci semplificava le cose in vb!!!!!!!!!!!!
perche' se le semplificava ulteriormente, chi aveva bisogno di
programmatori?
beppe