Gros problème de performance. Connaissez-vous un moyen plus rapide que
treeview.nodes.clear pour effacer un treeview ? Il apparait que cette action
me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système ce
qui est inacceptable.
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Bismark Prods" <xanaia@urbanet.ch> wrote in message
news:emFyqf6cDHA.1772@TK2MSFTNGP10.phx.gbl...
Hello,
Gros problème de performance. Connaissez-vous un moyen plus rapide que
treeview.nodes.clear pour effacer un treeview ? Il apparait que cette
action
me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système ce
qui est inacceptable.
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news:
Hello,
Gros problème de performance. Connaissez-vous un moyen plus rapide que treeview.nodes.clear pour effacer un treeview ? Il apparait que cette
action
me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système ce qui est inacceptable.
Merci d'avance
Bismark Prods
Tu vas rire ! mais il n'y pour le moment que guère entre 24 et 28 item dans le treeview et meme si je l'invisibilise. Cela ne change rien au fait que sur le clear le programme s'immobilise complètement ! et les doevents n'y changent rien.
Mais peut-etre faudrait-il que je concoive une sub perso qui viderait le treeview par iteration ?
"Zoury" a écrit dans le message de news:
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il? As-tu essayé de le rendre invisible avant de le vider et de le faire réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > Hello, > > Gros problème de performance. Connaissez-vous un moyen plus rapide que > treeview.nodes.clear pour effacer un treeview ? Il apparait que cette action > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
ce
> qui est inacceptable. > > Merci d'avance > >
Tu vas rire ! mais il n'y pour le moment que guère entre 24 et 28 item dans
le treeview et meme si je l'invisibilise. Cela ne change rien au fait que
sur le clear le programme s'immobilise complètement ! et les doevents n'y
changent rien.
Mais peut-etre faudrait-il que je concoive une sub perso qui viderait le
treeview par iteration ?
"Zoury" <yanick_lefebvre@hotmail.com> a écrit dans le message de
news:uePykx6cDHA.880@TK2MSFTNGP09.phx.gbl...
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il?
As-tu essayé de le rendre invisible avant de le vider et de le faire
réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Bismark Prods" <xanaia@urbanet.ch> wrote in message
news:emFyqf6cDHA.1772@TK2MSFTNGP10.phx.gbl...
> Hello,
>
> Gros problème de performance. Connaissez-vous un moyen plus rapide que
> treeview.nodes.clear pour effacer un treeview ? Il apparait que cette
action
> me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
Tu vas rire ! mais il n'y pour le moment que guère entre 24 et 28 item dans le treeview et meme si je l'invisibilise. Cela ne change rien au fait que sur le clear le programme s'immobilise complètement ! et les doevents n'y changent rien.
Mais peut-etre faudrait-il que je concoive une sub perso qui viderait le treeview par iteration ?
"Zoury" a écrit dans le message de news:
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il? As-tu essayé de le rendre invisible avant de le vider et de le faire réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > Hello, > > Gros problème de performance. Connaissez-vous un moyen plus rapide que > treeview.nodes.clear pour effacer un treeview ? Il apparait que cette action > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
ce
> qui est inacceptable. > > Merci d'avance > >
Bismark Prods
C'est bon j'ai trouvé une facon sympa sur le web !
Private Const WM_SETREDRAW = &HB Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _ Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub TrvwClear() Dim x As Integer With TreeView1 SendMessage .hwnd, WM_SETREDRAW, 0, 0 For x = .Nodes.Count To 1 Step -1 .Nodes.Remove x Next x SendMessage .hwnd, WM_SETREDRAW, 1, 0 End With End Sub
Et ca marche au poil !
"Zoury" a écrit dans le message de news:
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il? As-tu essayé de le rendre invisible avant de le vider et de le faire réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > Hello, > > Gros problème de performance. Connaissez-vous un moyen plus rapide que > treeview.nodes.clear pour effacer un treeview ? Il apparait que cette action > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
ce
> qui est inacceptable. > > Merci d'avance > >
C'est bon j'ai trouvé une facon sympa sur le web !
Private Const WM_SETREDRAW = &HB
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _
Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub TrvwClear()
Dim x As Integer
With TreeView1
SendMessage .hwnd, WM_SETREDRAW, 0, 0
For x = .Nodes.Count To 1 Step -1
.Nodes.Remove x
Next x
SendMessage .hwnd, WM_SETREDRAW, 1, 0
End With
End Sub
Et ca marche au poil !
"Zoury" <yanick_lefebvre@hotmail.com> a écrit dans le message de
news:uePykx6cDHA.880@TK2MSFTNGP09.phx.gbl...
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il?
As-tu essayé de le rendre invisible avant de le vider et de le faire
réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Bismark Prods" <xanaia@urbanet.ch> wrote in message
news:emFyqf6cDHA.1772@TK2MSFTNGP10.phx.gbl...
> Hello,
>
> Gros problème de performance. Connaissez-vous un moyen plus rapide que
> treeview.nodes.clear pour effacer un treeview ? Il apparait que cette
action
> me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
C'est bon j'ai trouvé une facon sympa sur le web !
Private Const WM_SETREDRAW = &HB Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _ Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub TrvwClear() Dim x As Integer With TreeView1 SendMessage .hwnd, WM_SETREDRAW, 0, 0 For x = .Nodes.Count To 1 Step -1 .Nodes.Remove x Next x SendMessage .hwnd, WM_SETREDRAW, 1, 0 End With End Sub
Et ca marche au poil !
"Zoury" a écrit dans le message de news:
Salut Simon! :O)
Combien de noeuds ton TreeView contient t-il? As-tu essayé de le rendre invisible avant de le vider et de le faire réapparaître après?
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > Hello, > > Gros problème de performance. Connaissez-vous un moyen plus rapide que > treeview.nodes.clear pour effacer un treeview ? Il apparait que cette action > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système
ce
> qui est inacceptable. > > Merci d'avance > >
Zoury
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La solution que tu as trouvé ou une semblable règlait le problème en effet. Étrange tout de même... :O/
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Zoury" wrote in message news:
J'y suis quand même bouche bée... le temps obtenu par tv.Nodes.Clear est anormal... as-tu essayé de redémarrer ton poste? y a-t-il un un autre service qui fonctionnne en même temps? Et dans un autre projet c'est
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > C'est bon j'ai trouvé une facon sympa sur le web ! > > Private Const WM_SETREDRAW = &HB > Private Declare Function SendMessage Lib "user32" Alias _ > "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _ > Long, ByVal wParam As Long, lParam As Any) As Long > > Private Sub TrvwClear() > Dim x As Integer > With TreeView1 > SendMessage .hwnd, WM_SETREDRAW, 0, 0 > For x = .Nodes.Count To 1 Step -1 > .Nodes.Remove x > Next x > SendMessage .hwnd, WM_SETREDRAW, 1, 0 > End With > End Sub > > > Et ca marche au poil ! > > "Zoury" a écrit dans le message de > news: > > Salut Simon! :O) > > > > Combien de noeuds ton TreeView contient t-il? > > As-tu essayé de le rendre invisible avant de le vider et de le faire > > réapparaître après? > > > > -- > > Cordialement > > Yanick Lefebvre - MVP pour Visual Basic > > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ > > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ > > > > Merci de poster les réponses au groupe afin d'en faire profiter à tous > > "Bismark Prods" wrote in message > > news: > > > Hello, > > > > > > Gros problème de performance. Connaissez-vous un moyen plus rapide
que
> > > treeview.nodes.clear pour effacer un treeview ? Il apparait que
cette
> > action > > > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système > ce > > > qui est inacceptable. > > > > > > Merci d'avance > > > > > > > > > > > >
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La
solution que tu as trouvé ou une semblable règlait le problème en effet.
Étrange tout de même... :O/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Zoury" <yanick_lefebvre@hotmail.com> wrote in message
news:uI1j7I7cDHA.2416@TK2MSFTNGP10.phx.gbl...
J'y suis quand même bouche bée... le temps obtenu par tv.Nodes.Clear est
anormal... as-tu essayé de redémarrer ton poste? y a-t-il un un autre
service qui fonctionnne en même temps? Et dans un autre projet c'est
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Bismark Prods" <xanaia@urbanet.ch> wrote in message
news:uJkCVF7cDHA.3308@tk2msftngp13.phx.gbl...
> C'est bon j'ai trouvé une facon sympa sur le web !
>
> Private Const WM_SETREDRAW = &HB
> Private Declare Function SendMessage Lib "user32" Alias _
> "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _
> Long, ByVal wParam As Long, lParam As Any) As Long
>
> Private Sub TrvwClear()
> Dim x As Integer
> With TreeView1
> SendMessage .hwnd, WM_SETREDRAW, 0, 0
> For x = .Nodes.Count To 1 Step -1
> .Nodes.Remove x
> Next x
> SendMessage .hwnd, WM_SETREDRAW, 1, 0
> End With
> End Sub
>
>
> Et ca marche au poil !
>
> "Zoury" <yanick_lefebvre@hotmail.com> a écrit dans le message de
> news:uePykx6cDHA.880@TK2MSFTNGP09.phx.gbl...
> > Salut Simon! :O)
> >
> > Combien de noeuds ton TreeView contient t-il?
> > As-tu essayé de le rendre invisible avant de le vider et de le faire
> > réapparaître après?
> >
> > --
> > Cordialement
> > Yanick Lefebvre - MVP pour Visual Basic
> > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
> >
> > Merci de poster les réponses au groupe afin d'en faire profiter à tous
> > "Bismark Prods" <xanaia@urbanet.ch> wrote in message
> > news:emFyqf6cDHA.1772@TK2MSFTNGP10.phx.gbl...
> > > Hello,
> > >
> > > Gros problème de performance. Connaissez-vous un moyen plus rapide
que
> > > treeview.nodes.clear pour effacer un treeview ? Il apparait que
cette
> > action
> > > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le
système
> ce
> > > qui est inacceptable.
> > >
> > > Merci d'avance
> > >
> > >
> >
> >
>
>
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La solution que tu as trouvé ou une semblable règlait le problème en effet. Étrange tout de même... :O/
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Zoury" wrote in message news:
J'y suis quand même bouche bée... le temps obtenu par tv.Nodes.Clear est anormal... as-tu essayé de redémarrer ton poste? y a-t-il un un autre service qui fonctionnne en même temps? Et dans un autre projet c'est
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Bismark Prods" wrote in message news: > C'est bon j'ai trouvé une facon sympa sur le web ! > > Private Const WM_SETREDRAW = &HB > Private Declare Function SendMessage Lib "user32" Alias _ > "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _ > Long, ByVal wParam As Long, lParam As Any) As Long > > Private Sub TrvwClear() > Dim x As Integer > With TreeView1 > SendMessage .hwnd, WM_SETREDRAW, 0, 0 > For x = .Nodes.Count To 1 Step -1 > .Nodes.Remove x > Next x > SendMessage .hwnd, WM_SETREDRAW, 1, 0 > End With > End Sub > > > Et ca marche au poil ! > > "Zoury" a écrit dans le message de > news: > > Salut Simon! :O) > > > > Combien de noeuds ton TreeView contient t-il? > > As-tu essayé de le rendre invisible avant de le vider et de le faire > > réapparaître après? > > > > -- > > Cordialement > > Yanick Lefebvre - MVP pour Visual Basic > > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ > > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ > > > > Merci de poster les réponses au groupe afin d'en faire profiter à tous > > "Bismark Prods" wrote in message > > news: > > > Hello, > > > > > > Gros problème de performance. Connaissez-vous un moyen plus rapide
que
> > > treeview.nodes.clear pour effacer un treeview ? Il apparait que
cette
> > action > > > me prenne 100 % de l'UC pendant 1 secondes et donc ca bloque le système > ce > > > qui est inacceptable. > > > > > > Merci d'avance > > > > > > > > > > > >
Sundowne
"Zoury" a écrit dans le message de news:
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La
'Jour Il s'agit d'un "bug" du treeview et de quelques autres controles ocx de MS: il bouffe son temps en redessinant le controle à chaque fois qu'on modifie la collection de nodes, et dans le cas de nodes.clear , les nodes sont suprimés un à un et le treeview redessiné à chaque fois. La solution consiste à empêcher le redraw , soit en rendant le treeview invisible et disabled ( très peu esthétique) , soit en lui interdisant le redraw par le sendmessage utilisé par bismark soit, ce que je fais et qui revient au même, en utilisant l'API lockwindowupdate . @+
"Zoury" <yanick_lefebvre@hotmail.com> a écrit dans le message de
news:uEAJ3f7cDHA.560@TK2MSFTNGP11.phx.gbl...
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La
'Jour
Il s'agit d'un "bug" du treeview et de quelques autres controles ocx de
MS: il bouffe son temps en redessinant le controle à chaque fois qu'on
modifie la collection de nodes, et dans le cas de nodes.clear , les nodes
sont suprimés un à un et le treeview redessiné à chaque fois.
La solution consiste à empêcher le redraw , soit en rendant le treeview
invisible et disabled ( très peu esthétique) , soit en lui interdisant le
redraw par le sendmessage utilisé par bismark soit, ce que je fais et qui
revient au même, en utilisant l'API lockwindowupdate .
@+
Ça me revient!! Oui! Il me semble avoir déjà vu ou lu ce problème. La
'Jour Il s'agit d'un "bug" du treeview et de quelques autres controles ocx de MS: il bouffe son temps en redessinant le controle à chaque fois qu'on modifie la collection de nodes, et dans le cas de nodes.clear , les nodes sont suprimés un à un et le treeview redessiné à chaque fois. La solution consiste à empêcher le redraw , soit en rendant le treeview invisible et disabled ( très peu esthétique) , soit en lui interdisant le redraw par le sendmessage utilisé par bismark soit, ce que je fais et qui revient au même, en utilisant l'API lockwindowupdate . @+