Bonjour a tous,
Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
nœud. Il y a t-il une façon de sens sortir ?
Bonjour a tous,
Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
nœud. Il y a t-il une façon de sens sortir ?
Bonjour a tous,
Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
nœud. Il y a t-il une façon de sens sortir ?
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
> Bonjour a tous,
> Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
> neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
> pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
> nœud. Il y a t-il une façon de sens sortir ?
>
Il ne semble pas qu'il y ait de solution simple, le message,
TVM_GETEDITCONTROL :
<http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
permet de récupérer le contrôle de saisie associé au Treeview mais il
faut sous classer le contrôle. Un exemple (minimal) :
<http://www.devx.com/vb2themax/Tip/18447>
Non testé.
--
Cordialement,
Jacques.
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
> Bonjour a tous,
> Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
> neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
> pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
> nœud. Il y a t-il une façon de sens sortir ?
>
Il ne semble pas qu'il y ait de solution simple, le message,
TVM_GETEDITCONTROL :
<http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
permet de récupérer le contrôle de saisie associé au Treeview mais il
faut sous classer le contrôle. Un exemple (minimal) :
<http://www.devx.com/vb2themax/Tip/18447>
Non testé.
--
Cordialement,
Jacques.
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
> Bonjour a tous,
> Je voudrais dans un treeView éditer le nom d'un nœud, mais en conservant les
> neuf premiers caractères. Je ne vois pas de SelStart et SelLength . J’ai
> pensé placer un textbox, mais il n’y a pas de propriété Top ou Left d’un
> nœud. Il y a t-il une façon de sens sortir ?
>
Il ne semble pas qu'il y ait de solution simple, le message,
TVM_GETEDITCONTROL :
<http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
permet de récupérer le contrôle de saisie associé au Treeview mais il
faut sous classer le contrôle. Un exemple (minimal) :
<http://www.devx.com/vb2themax/Tip/18447>
Non testé.
--
Cordialement,
Jacques.
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> > Bonjour a tous,
> > Je voudrais dans un treeView éditer le nom d'un nÅud, mais en conservant les
> > neuf premiers caractères. Je ne vois pas de SelStart  et Se lLength . Jâai
> > pensé placer un textbox, mais il nây a pas de proprià ©té Top ou Left dâun
> > nÅud. Il y a t-il une façon de sens sortir ?
> Il ne semble pas qu'il y ait de solution simple, le message,
> TVM_GETEDITCONTROL :
> Â Â <http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
> permet de récupérer le contrôle de saisie associé a u Treeview mais il
> faut sous classer le contrôle. Un exemple (minimal) :
> Â Â <http://www.devx.com/vb2themax/Tip/18447>
> Non testé.
> --
> Cordialement,
> Jacques.
Merci Jacques pour cette information. Je  programme comme hobby et j e ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne ve ux
pas perdre dans TreeView1_BeforeLabelEdit et lâajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Raymond Fournier
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> > Bonjour a tous,
> > Je voudrais dans un treeView éditer le nom d'un nÅud, mais en conservant les
> > neuf premiers caractères. Je ne vois pas de SelStart  et Se lLength . Jâai
> > pensé placer un textbox, mais il nây a pas de proprià ©té Top ou Left dâun
> > nÅud. Il y a t-il une façon de sens sortir ?
> Il ne semble pas qu'il y ait de solution simple, le message,
> TVM_GETEDITCONTROL :
> Â Â <http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
> permet de récupérer le contrôle de saisie associé a u Treeview mais il
> faut sous classer le contrôle. Un exemple (minimal) :
> Â Â <http://www.devx.com/vb2themax/Tip/18447>
> Non testé.
> --
> Cordialement,
> Jacques.
Merci Jacques pour cette information. Je  programme comme hobby et j e ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne ve ux
pas perdre dans TreeView1_BeforeLabelEdit et lâajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Raymond Fournier
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> > Bonjour a tous,
> > Je voudrais dans un treeView éditer le nom d'un nÅud, mais en conservant les
> > neuf premiers caractères. Je ne vois pas de SelStart  et Se lLength . Jâai
> > pensé placer un textbox, mais il nây a pas de proprià ©té Top ou Left dâun
> > nÅud. Il y a t-il une façon de sens sortir ?
> Il ne semble pas qu'il y ait de solution simple, le message,
> TVM_GETEDITCONTROL :
> Â Â <http://msdn2.microsoft.com/en-us/library/ms650163.aspx>
> permet de récupérer le contrôle de saisie associé a u Treeview mais il
> faut sous classer le contrôle. Un exemple (minimal) :
> Â Â <http://www.devx.com/vb2themax/Tip/18447>
> Non testé.
> --
> Cordialement,
> Jacques.
Merci Jacques pour cette information. Je  programme comme hobby et j e ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne ve ux
pas perdre dans TreeView1_BeforeLabelEdit et lâajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Raymond Fournier
Merci Jacques pour cette information. Je programme comme hobby et je ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne veux
pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Merci Jacques pour cette information. Je programme comme hobby et je ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne veux
pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Merci Jacques pour cette information. Je programme comme hobby et je ne
connais pas cette notion de sous classement et je ne vois pas comment m'en
servir. Je crois que je peux aller chercher la partir du nom que je ne veux
pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
TreeView1_AfterLabelEdit.
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
[...]
> Merci Jacques pour cette information. Je programme comme hobby et je ne
> connais pas cette notion de sous classement et je ne vois pas comment m'en
> servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> TreeView1_AfterLabelEdit.
>
J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
François Picalausa a décrit le fonctionnement.
Un truc du genre, on sauvegarde l'ancien texte du Node :
Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
Debug.Print "Before Edit"
With TreeView1.SelectedItem
OldString = .Text
' on enlève les 9 premiers caractères
.Text = Mid(.Text, 10)
End With
End Sub
' On ajoute les 9 premiers caractères à la saisie effectuée.
Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
NewString As String)
Debug.Print "After Edit"
With TreeView1.SelectedItem
If Len(NewString) > 0 Then
.Text = left(OldString, 9) & NewString
Else
.Text = OldString
End If
End With
End Sub
Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
et le texte de contrôle de saisie se fait pas, me semble t-il après ces
événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
part). La solution proposée par François (zone de saisie indépendante)
est de loin la plus simple, car même pour récupérer les coordonnées x,y
de la zone de saisie, il faut déjà sous classer (sinon on récupère les
coordonnées du TreeView).
--
Cordialement,
Jacques.
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
[...]
> Merci Jacques pour cette information. Je programme comme hobby et je ne
> connais pas cette notion de sous classement et je ne vois pas comment m'en
> servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> TreeView1_AfterLabelEdit.
>
J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
François Picalausa a décrit le fonctionnement.
Un truc du genre, on sauvegarde l'ancien texte du Node :
Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
Debug.Print "Before Edit"
With TreeView1.SelectedItem
OldString = .Text
' on enlève les 9 premiers caractères
.Text = Mid(.Text, 10)
End With
End Sub
' On ajoute les 9 premiers caractères à la saisie effectuée.
Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
NewString As String)
Debug.Print "After Edit"
With TreeView1.SelectedItem
If Len(NewString) > 0 Then
.Text = left(OldString, 9) & NewString
Else
.Text = OldString
End If
End With
End Sub
Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
et le texte de contrôle de saisie se fait pas, me semble t-il après ces
événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
part). La solution proposée par François (zone de saisie indépendante)
est de loin la plus simple, car même pour récupérer les coordonnées x,y
de la zone de saisie, il faut déjà sous classer (sinon on récupère les
coordonnées du TreeView).
--
Cordialement,
Jacques.
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
[...]
> Merci Jacques pour cette information. Je programme comme hobby et je ne
> connais pas cette notion de sous classement et je ne vois pas comment m'en
> servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> TreeView1_AfterLabelEdit.
>
J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
François Picalausa a décrit le fonctionnement.
Un truc du genre, on sauvegarde l'ancien texte du Node :
Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
Debug.Print "Before Edit"
With TreeView1.SelectedItem
OldString = .Text
' on enlève les 9 premiers caractères
.Text = Mid(.Text, 10)
End With
End Sub
' On ajoute les 9 premiers caractères à la saisie effectuée.
Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
NewString As String)
Debug.Print "After Edit"
With TreeView1.SelectedItem
If Len(NewString) > 0 Then
.Text = left(OldString, 9) & NewString
Else
.Text = OldString
End If
End With
End Sub
Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
et le texte de contrôle de saisie se fait pas, me semble t-il après ces
événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
part). La solution proposée par François (zone de saisie indépendante)
est de loin la plus simple, car même pour récupérer les coordonnées x,y
de la zone de saisie, il faut déjà sous classer (sinon on récupère les
coordonnées du TreeView).
--
Cordialement,
Jacques.
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> [...]
> > Merci Jacques pour cette information. Je programme comme hobby et je ne
> > connais pas cette notion de sous classement et je ne vois pas comment m'en
> > servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> > pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> > TreeView1_AfterLabelEdit.
> >
>
> J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
> François Picalausa a décrit le fonctionnement.
>
> Un truc du genre, on sauvegarde l'ancien texte du Node :
>
> Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
> Debug.Print "Before Edit"
> With TreeView1.SelectedItem
> OldString = .Text
> ' on enlève les 9 premiers caractères
> .Text = Mid(.Text, 10)
> End With
> End Sub
>
>
> ' On ajoute les 9 premiers caractères à la saisie effectuée.
> Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
> NewString As String)
> Debug.Print "After Edit"
> With TreeView1.SelectedItem
> If Len(NewString) > 0 Then
> .Text = left(OldString, 9) & NewString
> Else
> .Text = OldString
> End If
> End With
> End Sub
>
>
> Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
> et le texte de contrôle de saisie se fait pas, me semble t-il après ces
> événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
> part). La solution proposée par François (zone de saisie indépendante)
> est de loin la plus simple, car même pour récupérer les coordonnées x,y
> de la zone de saisie, il faut déjà sous classer (sinon on récupère les
> coordonnées du TreeView).
>
> --
> Cordialement,
>
> Jacques.
Merci des informations. Je vais commencer avec l'idée du textBox en dessous
du TreeView, même si je considère que ce n'est pas très esthétique. Je vais
me pencher sur le sous-classement lorsque j'aurais quelque instant.
Raymond Fournier
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> [...]
> > Merci Jacques pour cette information. Je programme comme hobby et je ne
> > connais pas cette notion de sous classement et je ne vois pas comment m'en
> > servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> > pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> > TreeView1_AfterLabelEdit.
> >
>
> J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
> François Picalausa a décrit le fonctionnement.
>
> Un truc du genre, on sauvegarde l'ancien texte du Node :
>
> Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
> Debug.Print "Before Edit"
> With TreeView1.SelectedItem
> OldString = .Text
> ' on enlève les 9 premiers caractères
> .Text = Mid(.Text, 10)
> End With
> End Sub
>
>
> ' On ajoute les 9 premiers caractères à la saisie effectuée.
> Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
> NewString As String)
> Debug.Print "After Edit"
> With TreeView1.SelectedItem
> If Len(NewString) > 0 Then
> .Text = left(OldString, 9) & NewString
> Else
> .Text = OldString
> End If
> End With
> End Sub
>
>
> Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
> et le texte de contrôle de saisie se fait pas, me semble t-il après ces
> événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
> part). La solution proposée par François (zone de saisie indépendante)
> est de loin la plus simple, car même pour récupérer les coordonnées x,y
> de la zone de saisie, il faut déjà sous classer (sinon on récupère les
> coordonnées du TreeView).
>
> --
> Cordialement,
>
> Jacques.
Merci des informations. Je vais commencer avec l'idée du textBox en dessous
du TreeView, même si je considère que ce n'est pas très esthétique. Je vais
me pencher sur le sous-classement lorsque j'aurais quelque instant.
Raymond Fournier
"Jacques93" wrote:
> Bonjour Raymond Fournier,
> Raymond Fournier a écrit :
> [...]
> > Merci Jacques pour cette information. Je programme comme hobby et je ne
> > connais pas cette notion de sous classement et je ne vois pas comment m'en
> > servir. Je crois que je peux aller chercher la partir du nom que je ne veux
> > pas perdre dans TreeView1_BeforeLabelEdit et l’ajouter au nouveau nom dans
> > TreeView1_AfterLabelEdit.
> >
>
> J'ai essayé avant de m'orienter vers cet exemple de sous-classement dont
> François Picalausa a décrit le fonctionnement.
>
> Un truc du genre, on sauvegarde l'ancien texte du Node :
>
> Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
> Debug.Print "Before Edit"
> With TreeView1.SelectedItem
> OldString = .Text
> ' on enlève les 9 premiers caractères
> .Text = Mid(.Text, 10)
> End With
> End Sub
>
>
> ' On ajoute les 9 premiers caractères à la saisie effectuée.
> Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, _
> NewString As String)
> Debug.Print "After Edit"
> With TreeView1.SelectedItem
> If Len(NewString) > 0 Then
> .Text = left(OldString, 9) & NewString
> Else
> .Text = OldString
> End If
> End With
> End Sub
>
>
> Malheureusement cela ne marche pas pas. Le lien entre le texte du Node
> et le texte de contrôle de saisie se fait pas, me semble t-il après ces
> événements, et on a donc aucun moyen d'interférer (sauf erreur de ma
> part). La solution proposée par François (zone de saisie indépendante)
> est de loin la plus simple, car même pour récupérer les coordonnées x,y
> de la zone de saisie, il faut déjà sous classer (sinon on récupère les
> coordonnées du TreeView).
>
> --
> Cordialement,
>
> Jacques.
Merci des informations. Je vais commencer avec l'idée du textBox en dessous
du TreeView, même si je considère que ce n'est pas très esthétique. Je vais
me pencher sur le sous-classement lorsque j'aurais quelque instant.
Raymond Fournier