[VB6] Sélection d'un dirlistbox en un seul click!?

Résolu
jimelfou Messages postés 133 Date d'inscription samedi 20 octobre 2001 Statut Membre Dernière intervention 6 février 2016 - 30 mars 2009 à 17:42
jimelfou Messages postés 133 Date d'inscription samedi 20 octobre 2001 Statut Membre Dernière intervention 6 février 2016 - 31 mars 2009 à 16:15
Bonjour à vous, voici ma situation.
Je dois faire un interface qui sera contrôlé avec un écran touchscreen. Étant donné qu'il n'y aura pas de souris, j'essais au maximum de minimiser l'utilisation du double-clic. Je dois faire un transfert de fichier (backup) et le problème est que pour choisir mon dossier de destination, je dois double-cliquer sur le dossier dans le dirlistbox. Est-il possible de sélectionner ce dossier en un seul clic?

     Merci de votre aide

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mars 2009 à 09:20
Tu t'en donne du mal, Duke49...

Private Sub Dir1_Click()
With Dir1
If .ListIndex <> -1 Then
.Path = .List(.ListIndex)
End If
End With
End Sub
3
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
30 mars 2009 à 20:50
Peut être ceci ?

Public Const MK_LBUTTON = &H1
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDOWN = &H201

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Function MakeDW(LoWord As Integer, HiWord As Integer) As Long
MakeDW = (HiWord * &H10000) + (LoWord And &HFFFF&)
End Function

Public Sub SendDubbleClick(byval hWnd as long, lnX as long, lnY as long)
Dim myXY as long

myXY = MakeDW(lnX, lnY)
SendMessage(hWnd, WM_LBUTTONDOWN, ByVal CLng(MK_LBUTTON), ByVal targetXY)
SendMessage(hWnd, WM_LBUTTONUP, ByVal CLng(MK_LBUTTON), ByVal myXY)
End Sub
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
30 mars 2009 à 20:53
Ben pour utiliser ce code tu feras depuis ton MonObjet_MouseMove:

Call Send DubbleClick(MaForm.hwnd, X, Y)
Call Send DubbleClick(MaForm.hwnd, X, Y)
0
jimelfou Messages postés 133 Date d'inscription samedi 20 octobre 2001 Statut Membre Dernière intervention 6 février 2016
31 mars 2009 à 16:15
Oh ouais!
Merci beaucoup Renfield pour ton aide, ta solution est vraiment simple, efficace et fonctionnel!
0
Rejoignez-nous