Comment simuler une touche du clavier ???

cs_CoChOnOu Messages postés 50 Date d'inscription samedi 26 janvier 2002 Statut Membre Dernière intervention 1 mai 2007 - 19 avril 2003 à 01:37
cs_CoChOnOu Messages postés 50 Date d'inscription samedi 26 janvier 2002 Statut Membre Dernière intervention 1 mai 2007 - 21 avril 2003 à 16:37
Salut, je mets ce post dans la catégorie Divers car en fait je sais pas trop où le mettre.

Voilà donc mon problème : j'aimerais simuler l'appuis de la touche "curseur bas" dans un treeview. Facile me direz vous, il me suffirais d'utiliser la méthode SendKeys ... seulement voilà, pour que le Sendkeys fonctionne il faut, avant, donner le focus au treeview et c'est là qu'est mon problème, car en fait il me faudrait parcourrir toute une arborescence mais en arrière plan .... donc il me faut simuler l'appuis de la touche "curseur bas" mais sans donner le focus au treeview ....

Ca fait des jours que je cherche une solution et là je commmence à craquer ...... Alors si qqun voit une solution, qu'il n'hésite pas :) :) :)

Merci :)

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 avril 2003 à 07:46
Et pourquoi ne pas lui donner le focus, faire un sendkeys, puis redonner le focus au contrôle d'avant, je ne pense pas que ca serait flagrant !

DARK SIDIOUS

[Responsable de la rubrique API du site www.ProgOtoP.net]
0
cs_xtof Messages postés 48 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 13 décembre 2007
19 avril 2003 à 07:57
Salut,

J'ai codé ton problème et j'y arrive avec SendKeys.

Voici le code que j'ai écrit :

VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MsComCtl.ocx"
Begin VB.Form Form1 
   Caption         =   "Réponse au PB de CoChOnOu"
   ClientHeight    =   4710
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   4290
   LinkTopic       =   "Form1"
   ScaleHeight     =   4710
   ScaleWidth      =   4290
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton Command2 
      Caption         =   "UP"
      Height          =   390
      Left            =   3255
      TabIndex        =   2
      Top             =   4125
      Width           =   750
   End
   Begin VB.CommandButton Command1 
      Caption         =   "DOWN"
      Height          =   390
      Left            =   2445
      TabIndex        =   1
      Top             =   4125
      Width           =   750
   End
   Begin MSComctlLib.TreeView TreeView1 
      Height          =   3615
      Left            =   225
      TabIndex        =   0
      Top             =   405
      Width           =   3765
      _ExtentX        =   6641
      _ExtentY        =   6376
      _Version        =   393217
      Style           =   7
      Appearance      =   1
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
    Dim nodX As Node
    Dim i As Integer
    For i = 1 To 100
        Set nodX = TreeView1.Nodes.Add(, , "Parent" & CStr(i), "Parent " & CStr(i))
        For j = 1 To 10
            Set nodX = TreeView1.Nodes.Add("Parent" & CStr(i), tvwChild, "Parent " & CStr(i) & ";Child" & CStr(j), "Child " & j)
        Next
    Next
End Sub
Private Sub Command1_Click()
    TreeView1.SetFocus
    SendKeys ("{DOWN}")
End Sub
Private Sub Command2_Click()
    TreeView1.SetFocus
    SendKeys ("{UP}")
End Sub



En espérant que cela puisse t'aider...

++,

XtOf
0
Ficarcy0407 Messages postés 28 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 24 septembre 2005
19 avril 2003 à 14:29
Salut, ben si tu veux faire ca, tu peu faire autre chose que SendKeys : tu positionne la souris et tu la fait cliker. Avec des scripts que j'ai trouvé sur ce site, je suis arriver a faire ca et ca marche !
:)

Ficarcy, et le monde vous sourit ;)
0
cs_CoChOnOu Messages postés 50 Date d'inscription samedi 26 janvier 2002 Statut Membre Dernière intervention 1 mai 2007
21 avril 2003 à 16:37
Merci vous pour vos réponses :)

xtof : je vais étudier ton code :) .. mais bon, qui dit "sendkeys" dit focus .... et moi il ne faut pas que le treeview ai le focus ....

DARKSIDIOUS : je ne peux pas faire comme tu dis car en fait, le parcours de l'arborescence doit pouvoir se faire alors que l'application est réduite par exemple .... donc dans ce cas impossible de donner le focus au treeview ....

Sinon j'ai bien trouvé un moyen en jouant avec les icones des nodes ... mais bon c'est pas du sûr à 100% ...

Enfin bon ... merci quand même :)
0
Rejoignez-nous