Flickering of ExplorerTreeView

The place for threads about version 1.x of TimoSoft ExplorerTreeView.
Post Reply
akacom

Flickering of ExplorerTreeView

Post by akacom »

Hi to all,

I am a new member and first of all I would like to thank Timo for the great tools he provides. A warm THANK YOU!

I have a problem with ETV: It is heavily flickering and I searched for property like "AutoUpdate", but didn't found.

Is there anybody who can give me a hint how to disable the flickering of the control?
Thanks in advnce!

aka
User avatar
TiKu
Administrator
Administrator
Posts: 832
Joined: 28 Sep 2004, 21:10
Location: Unterföhring
Contact:

Post by TiKu »

Hi,

I guess you mean version 1.x of ExplorerTreeView. Well, AutoUpdate can't be turned off - at least not that easy. Here's some code that will turn it off:

Code: Select all

  Private Const WM_USER = &H400
  Private Const EXTVM_SETAUTOUPDATE = (WM_USER + 20)

  Private Declare Function SendMessageAsLong Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

  Dim disableAutoUpdate As Boolean
  Dim previousSetting As Boolean

  ' we want to disable AutoUpdate
  disableAutoUpdate = True

  previousSetting = SendMessageAsLong(ExTvw.hWnd, EXTVM_SETAUTOUPDATE, CLng(Not disableAutoUpdate), 0)
There's no simple property, because disabling AutoUpdate will lead to other problems. ExplorerTreeView isn't designed to cope well with zombie items, i. e. items that are not valid anymore. E. g. it probably will crash if you try to rename such items.

The flickering could be caused by the Recycle Bin. This namespace has a bug. It fires shell notifications as soon as you enumerate its sub-items. The AutoUpdate code of older versions of ExplorerTreeView handled those shell notifications by re-enumerating the sub-items. This led to infinite loops of shell notifications and this loop was visible to the user in form of flickering.
Newer versions detect this loop and break it. I suggest you try the latest beta build, which I posted in another thread (click me). Its AutoUpdate code is more performant.

HTH
Timo
Crunching for Fab36_Folding-Division at Folding@Home. Join Fab36/Fab30! - Folding@Home and BOINC
Boycott DRM! Boycott HDCP!
aka
Lieutenant
Posts: 17
Joined: 05 Jan 2006, 12:27

Post by aka »

Hi,

thanks a lot for your fast reply. Unfortunately I couldn't see difference between build 699 and 722.

I also tested the beta of version 2, which seems to be very stable.
But with this version I hace the problem to fill the tree with all schell items. Thats fare behind my skills. Bad luck for me.

I will watch the development of your components and perhaps some day find what I am looking for.

All the best for you!
aka
User avatar
TiKu
Administrator
Administrator
Posts: 832
Joined: 28 Sep 2004, 21:10
Location: Unterföhring
Contact:

Post by TiKu »

aka wrote:I also tested the beta of version 2, which seems to be very stable.
But with this version I hace the problem to fill the tree with all schell items. Thats fare behind my skills. Bad luck for me.
Yes, the ShellBrowser component that will make it (and ExplorerListView) a shell browser is still in early development stages. It's simply a lack of time that slows development down so much.

Timo
Crunching for Fab36_Folding-Division at Folding@Home. Join Fab36/Fab30! - Folding@Home and BOINC
Boycott DRM! Boycott HDCP!
aka
Lieutenant
Posts: 17
Joined: 05 Jan 2006, 12:27

Post by aka »

TiKu wrote:
aka wrote:I also tested the beta of version 2, which seems to be very stable.
But with this version I hace the problem to fill the tree with all schell items. Thats fare behind my skills. Bad luck for me.
Yes, the ShellBrowser component that will make it (and ExplorerListView) a shell browser is still in early development stages. It's simply a lack of time that slows development down so much.

Timo
Hi Timo,

its me again. Sorry for disturbing you one more time. I have forgotten to mention, that the code snippet for disabeling "autoupdate" works fine. So I can use your fantastic ExTV in the way I imagined. Thank you once again for this great free component!

best regards
aka
Post Reply