locked
How can I disable fade in/out of expand collapse icons in tree view? RRS feed

  • Question

  • In Windows 7 (and Vista) the expand/collapse/+/- icons in the tree view control fade out when the window becomes inactive or the mouse cursor leaves the control. This prevents me from visually knowing if a folder/item is empty when I am not hovering the mouse cursor over the tree. This is extremely frustrating! I would like Windows to keep the expand/collapse icons always visible. You shouldn't have to hover over the tree view to find out if item is empty.

    Is there a way to prevent Windows 7 from hiding the expand/collapse icons in the tree view control?

    Wednesday, June 16, 2010 3:38 PM

Answers

  • Hi,

    I am sorry to say this is by design. However, you can search a third party explorer from our search engine www.bing.com to get what you want.

    Good luck!


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”
    • Marked as answer by Magon Liu Friday, June 25, 2010 9:40 AM
    Wednesday, June 23, 2010 9:40 AM

All replies

  • Hi,

    I am sorry to say this is by design. However, you can search a third party explorer from our search engine www.bing.com to get what you want.

    Good luck!


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”
    • Marked as answer by Magon Liu Friday, June 25, 2010 9:40 AM
    Wednesday, June 23, 2010 9:40 AM
  • I have the same problem.

    My guess is the same department did this that did the fluffy yellow button in Office2007. They're called "The Marketing Department".

    ____ morons.

    Wednesday, June 23, 2010 11:59 PM
  • Heylo! I need this too. I can dig that it's by design, but it's still modifiable, somehow. Please find out how and tell us? xD

    I've been trying to figure this out since yesterday.

    Even in safe mode, those expand/collapse icons are hidden (not fading, but instantly appear/disappear when hover over the area/pannel containing the tree).

    I've been messing around with shell32.dll and shellstyle.dll and aero.msstyle and some more attempting to override this behaviour. There seems to be embedded some kind of DirectUI XML (duixml) inside these and CSS (in the shellstyle.dll one) but I can't seem to be able to have them modified to make any relevant changes visible. Granted that by using an app called Vista Style Builder I am able to find something and change background color of the ProperTree which is the left panel where the tree of drives and folders is when you run Winkey+E aka explorer, however there isn't more around that, and I don't know much... however apparently I can't use VSB to enable/disable on hover behavior that those expand/collapse icons have.

    There seems to be some interesting coding inside the duixml script inside shellstyle.dll (one's in system32) but I don't want to believe that's the one controlling that, because I managed to have none of those dlls loaded and the behaviour remained. Perhaps in explorer.exe ? or shell32.dll (many duixml there). Btw, I used a resource extractor (well about 4 of them actually)

    VSB seems to change only the "variant" file which is in binary form when seen with a resource extractor (ie. Restorator or Anolis Resourcer) and there seem to be mostly colors and pointers(I think) to icons.

    I'll pase the UIFILE\3 from shell32.dll (64bit win7 btw, if it matters):

    <duixml>
    <Element resid="FolderLayout" layout="shellborderlayout()" sheet="genericlayoutstyle">
    <TemplateBackground id="atom(PreviewContainer)" height="53rp" layoutpos="bottom" layout="filllayout()">
    <TemplateBackground id="atom(PreviewShineLayer)"/>
    <PreviewBackground id="atom(BackgroundClear)" background="ARGB(0, 0, 0, 0)" layout="borderlayout()">
    <PreviewThumbnail ModuleID="PreviewThumbnailModule" MaxThumbSize="256" layoutpos="Left"/>
    <Element layoutpos="Client" layout="filllayout()">
    <PreviewMetadata ModuleID="PreviewMetadataModule" NullSelectPropertyString="prop:*System.OfflineStatus;*System.OfflineAvailability" layoutpos="Client"/>
    </Element>
    </PreviewBackground>
    <Sizer id="atom(PreviewPaneSizer)" sizingtarget="atom(PreviewContainer)" FramePersistType="2" SlidesUpAndDown="true" layoutpos="top" DownOrRightGrowsTarget="false"/>
    </TemplateBackground>
    <TemplateBackground id="atom(ReadingPane)" layout="filllayout()" layoutpos="right">
    <PreviewThumbnail ModuleID="ReadingPaneThumbnailModule" HideProperty="PreviewHandlerRunning" Vertical="true" layoutpos="client" background="ARGB(0, 0, 0, 0)"/>
    <ReadingPaneModule ModuleID="ReadingPaneModule" layoutpos="none"/>
    </TemplateBackground>
    <Sizer id="atom(ReadingPaneSizer)" sizingtarget="atom(ReadingPane)" GrowTargetFirst="true" SlidesUpAndDown="false" PrioritySizer="atom(PageSpaceControlSizer)" DownOrRightGrowsTarget="false" FramePersistType="2" layoutpos="Right"/>
    <ProperTreeModule id="atom(ProperTree)" ModuleID="ProperTreeModule" sheet="documentslayoutstyle" layoutpos="Left"/>
    <Element id="atom(ViewHostContainer)" layoutpos="Client" sheet="documentslayoutstyle" layout="borderlayout()">
    <LibraryPaneModule id="atom(LibraryPaneModule)" ModuleID="LibraryPaneModule" layoutpos="top"/>
    <ViewHost id="atom(clientviewhost)" layout="borderlayout()" layoutpos="client">
    </ViewHost>
    </Element>
    </Element>
    

    there seem to be consecutive number of files from 3 to 62 (inclusive)

    I don't know if the key to fixing this is inside shell32.dll or somewhere else, but I tell you those [+] and [-] icons seem to act like on mouse hover over area or something like if within focus ...

     

    I'm also pasting you a part from shellstyle.dll (the one in system32 or syswow64  - same folder i think) but the real file is about 70KB long:

    <style resid="propertreestyle">
    
    <ProperTreeModule
    
    background="themeable(gtc(PROPERTREE, 2, 0, 3821), window)"
    
    foreground="themeable(gtc(TooltipStyle, 2, 0, 3803), windowtext)"
    
    />
    
    <ProperTreeHost
    
    font="IconFont"
    
    background="themeable(gtc(PROPERTREE, 2, 0, 3821), window)"
    
    foreground="windowtext"
    
    />
    
    <if id="atom(ProperTreeLinksHeader)">
    
    <Element
    
    foreground="themeable(gtc(Button, 1, 4, 3803), windowtext)"
    
    background="themeable(gtc(Communications::Rebar, 0, 0, 3803), window)"
    
    padding="rect(9rp,9rp,0rp,7rp)"
    
    font="gtf(textstyle, 4, 0)"
    
    />
    
    </if>
    
    <if id="atom(ProperTreeExpandoButtonCollapse)">
    
    <Element
    
    padding="rect(0rp, 0rp, 9rp, 0rp)"
    
    background="argb(0,0,0,0)"
    
    contentalign="middleleft"
    
    content="graphic(122,2,-1,0,0,0,0)"
    
    />
    
    </if>
    
    <if id="atom(ProperTreeExpandoButtonExpand)">
    
    <Element
    
    padding="rect(0rp, 0rp, 9rp, 0rp)"
    
    background="argb(0,0,0,0)"
    
    contentalign="middleleft"
    
    content="graphic(121,2,-1,0,0,0,0)"
    
    />
    
    </if>
    
    <if id="atom(ProperTreeHeader)">
    
    <Element background="argb(0,0,0,0)" contentalign="middleleft" padding="rect(9rp, 0rp, 0rp, 0rp)" />
    
    </if>
    
    <if id="atom(ProperTreeHeaderExpand)">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 1), window)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), windowtext)"
    
    padding="rect(0rp, 6rp, 0rp, 5rp)"
    
    />
    
    <if mousefocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if keyfocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if pressed="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 3), hotlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    </if>
    
    <if id="atom(ProperTreeHeaderCollapse)">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 1), window)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), windowtext)"
    
    padding="rect(0rp, 6rp, 0rp, 5rp)"
    
    />
    
    <if mousefocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803),              highlighttext)"
    
    />
    
    </if>
    
    <if keyfocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803),              highlighttext)"
    
    />
    
    </if>
    
    <if pressed="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 3), hotlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803),              highlighttext)"
    
    />
    
    </if>
    
    </if>
    
    <if id="atom(ProperTreeHeaderFolders)">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 1), window)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), windowtext)"
    
    padding="rect(0rp, 6rp, 0rp, 5rp)"
    
    />
    
    <if mousefocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if keyfocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if pressed="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 3), hotlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    </if>
    
    <if id="atom(ProperTreeHeaderLibraries)">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 1), window)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), windowtext)"
    
    padding="rect(0rp, 6rp, 0rp, 5rp)"
    
    />
    
    <if mousefocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if keyfocused="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 2),   highlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    <if pressed="true">
    
    <Button background="themeable(dtb(PROPERTREE, 1, 3), hotlight)"
    
    foreground="themeable(gtc(TextStyle, 2, 0, 3803), highlighttext)"
    
    />
    
    </if>
    
    </if>
    
    <Sizer background="ARGB(0, 0, 0, 0)" /> <if SlidesUpAndDown="true"> <Sizer height="5rp" cursor="sizens" /> </if> <if SlidesUpAndDown="false"> <Sizer width="3rp" cursor="sizewe" /> </if> <if id="atom(PreviewPaneSizer)"> <Sizer background="themeable(ARGB(0, 0, 0, 0), buttonface)" /> </if> <if id="atom(PageSpaceControlSizer)"> <Sizer background="themeable(dtb(PreviewPane, 3, 0), buttonface)" borderthickness="rect(0rp,0rp,0rp,0rp)" /> </if> <if id="atom(ReadingPaneSizer)"> <Sizer background="themeable(dtb(PreviewPane, 4, 0), buttonface)" borderthickness="rect(0rp,0rp,0rp,0rp)" /> </if> <if id="atom(ProperTreeExpandoSizer)"><Sizer background="buttonface" bordercolor="buttonhighlight" borderstyle="solid" borderthickness="rect(0rp,1rp,0rp,1rp)" height="4rp" /> </if> <if id="atom(PreviewPaneSizer)"> <Sizer InitialSize="53" MinSize="53" ReservedSpace="170" FramePersistType="2" /> </if> <if id="atom(CommonItemDialogSizer)"> <Sizer InitialSize="100" MinSize="100" FramePersistType="2" /> </if> <if id="atom(PageSpaceControlSizer)"> <Sizer InitialSize="160" MinSize="60" ReservedSpace="132" FramePersistType="2" ReservedMaster="atom(ReadingPane)" /> </if> <if id="atom(ProperTreeExpandoSizer)"><Sizer InitialSize="120" ReservedSpace="26" FramePersistType="2" InitialMaxxedOut="true" /> </if> <if id="atom(PreviewPaneSizer)"> <Sizer ExplorerVisibility="{43abf98b-89b8-472d-b9ce-e69b8229f019}" DisablingPolicy="{17067f8d-981b-42c5-98f8-5bc016d4b073}"/> </if> <if id="atom(ReadingPaneSizer)"> <Sizer ExplorerVisibility="{893c63d1-45c8-4d17-be19-223be71be365}" DisablingPolicy="{33dcce8d-b6f8-4b7a-ac93-45e301f956aa}" /> </if> <if id="atom(PageSpaceControlSizer)"> <Sizer ExplorerVisibility="{cb316b22-25f7-42b8-8a09-540d23a43c2f}" /> </if> <if id="atom(ReadingPaneSizer)"> <Sizer InitialSize="260" MinSize="68" ReservedSpace="202" GrowTargetFirst="true" ReservedMaster="atom(PageSpaceControlSizer)" FramePersistType="3" InitialVisibility="false" /> </if>
    
    </style>
    

     

    some little info about what's gtc() and such can be found here:

    http://vistastylebuilder.com/forum/index.php?topic=215.0

     

    I tell you it's rather frustrating not having access to stuff, such as which code uses that and how. Sure one can use programs like IDA or softice, if one is crazy =) but the entire high level above that was stripped for the purpose of space 'cause speed woulda been rather unaffected in my view - well not just for space... wtw. Yes I do dream of a system where everything is interconnected in an accessible way, keeping the high levels even though it's not needed to run it.

    Well wtw, just let's fix this, anyone?

    Thursday, December 23, 2010 10:05 AM
  • Couldn't edit that (javascript error), so I ask here:

    Can anyone that has the SP1 pack confirm if it's fixed or can be modified? (fixed so that it looks like it looks inside regedit - full time enabled folding icons in treeview)

    Thursday, December 23, 2010 10:10 AM
  • Before (folding buttons fade away when not : mouse over or pane focused-by-ie.shift+tab):

    Ok so one can fix these in explorer by using ClassicShell from sf.net in Explorer Settings->Navigation Pane-> -> Don't fade buttons

    however in Eclipse this will have no effect, so it will only work for explorer windows, I'm guessing it somehow disables or sets differently the visual styles, since I have to have enabled third-party browser extensions in Internet Options for ClassicShell to have this effect on explorer - else it cannot touch it (this is in their readme)

    After (folding or expand/collapse buttons don't fade away):

    Also if you want those treelines back, check only the Navigation pane style -> Windows XP Classic

    go Ok

    winkey+e and check it

    Thanks go to Andre.Ziegler

    Now, what I'm looking for is a way to do that for all trees, sort of change this to be the default, and there are a lot of tree types in windows or rather one type using different defaults ie. regedit(device manager), explorer, computer->Manage, Change Advanced Power Settings - all these trees differ

    Mainly I wanted this for Eclipse (the IDE for java programming) and I can't disable Visual Styles only for that or for javaw.exe because I'm getting an error - maybe more googling ?

    how it looks in eclipse (not mouse over or focused):

    and how it looks when mouse over but not focused(kinda same as when focused):


    what is you talking aboot?
    • Proposed as answer by escirllel Friday, December 24, 2010 4:54 PM
    • Edited by escirllel Saturday, December 25, 2010 6:10 AM fixed one image
    Friday, December 24, 2010 4:54 PM
  • It's just sad. With Win XP when I'd want to make an interface change, I'd find others with the same desire who'd found a way to do so. Now, with Win 7, I find others with the same desire, but this time we all find a posting from a Microsoft rep that no change is possible. "This is by design" is all too commonly posted. I've run across it twice today.
    Friday, January 7, 2011 11:21 PM
  • It's just sad. With Win XP when I'd want to make an interface change, I'd find others with the same desire who'd found a way to do so. Now, with Win 7, I find others with the same desire, but this time we all find a posting from a Microsoft rep that no change is possible. "This is by design" is all too commonly posted. I've run across it twice today.

    You got that right. It makes you wonder who their duty is to. Is it to the customer? Obviously not. If they were loyal to those who put food on their table all of this nonsense would not exist. It's issue after issue. They finally found a way for an operating system to run without crashing so they had to ruin it with this garbage. There must be idiot juice in the water in Redmond Washington. It is after all the suicide capital of the planet. I guess that explains it.
    Sunday, February 20, 2011 1:16 PM