Click here to Skip to main content
15,885,216 members
Articles / Programming Languages / XML

Enhanced BrowseForFolder Styled TreeView

Rate me:
Please Sign up or sign in to vote.
4.86/5 (85 votes)
27 May 2013Apache5 min read 578.2K   16.8K   269  
Supports Explorer, SingleChecked and RecursiveChecked mode (checkboxes). Lets you specify the displayed drive types, etc...
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Raccoom.TreeViewFolderBrowser.DataProviders</name>
    </assembly>
    <members>
        <member name="T:Raccoom.Win32.Shell32Namespaces">
            <summary>
            Summary description for Shell32Namespaces.
            </summary>
        </member>
        <member name="T:Raccoom.Win32.SystemImageListSize">
            <summary>
            Available system image list sizes
            </summary>
        </member>
        <member name="F:Raccoom.Win32.SystemImageListSize.LargeIcons">
            <summary>
            System Large Icon Size (typically 32x32)
            </summary>
        </member>
        <member name="F:Raccoom.Win32.SystemImageListSize.SmallIcons">
            <summary>
            System Small Icon Size (typically 16x16)
            </summary>
        </member>
        <member name="F:Raccoom.Win32.SystemImageListSize.ExtraLargeIcons">
            <summary>
            System Extra Large Icon Size (typically 48x48).
            Only available under XP; under other OS the
            Large Icon ImageList is returned.
            </summary>
        </member>
        <member name="T:Raccoom.Win32.ImageListDrawItemConstants">
            <summary>
            Flags controlling how the Image List item is 
            drawn
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_NORMAL">
            <summary>
            Draw item normally.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_TRANSPARENT">
            <summary>
            Draw item transparently.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_BLEND25">
            <summary>
            Draw item blended with 25% of the specified foreground colour
            or the Highlight colour if no foreground colour specified.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_SELECTED">
            <summary>
            Draw item blended with 50% of the specified foreground colour
            or the Highlight colour if no foreground colour specified.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_MASK">
            <summary>
            Draw the icon's mask
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_IMAGE">
            <summary>
            Draw the icon image without using the mask
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_ROP">
            <summary>
            Draw the icon using the ROP specified.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_PRESERVEALPHA">
            <summary>
            Preserves the alpha channel in dest. XP only.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_SCALE">
            <summary>
            Scale the image to cx, cy instead of clipping it.  XP only.
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawItemConstants.ILD_DPISCALE">
            <summary>
            Scale the image to the current DPI of the display. XP only.
            </summary>
        </member>
        <member name="T:Raccoom.Win32.ImageListDrawStateConstants">
            <summary>
            Enumeration containing XP ImageList Draw State options
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawStateConstants.ILS_NORMAL">
            <summary>
            The image state is not modified. 
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawStateConstants.ILS_GLOW">
            <summary>
            Adds a glow effect to the icon, which causes the icon to appear to glow 
            with a given color around the edges. (Note: does not appear to be
            implemented)
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawStateConstants.ILS_SHADOW">
            <summary>
            Adds a drop shadow effect to the icon. (Note: does not appear to be
            implemented)
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawStateConstants.ILS_SATURATE">
            <summary>
            Saturates the icon by increasing each color component 
            of the RGB triplet for each pixel in the icon. (Note: only ever appears
            to result in a completely unsaturated icon)
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ImageListDrawStateConstants.ILS_ALPHA">
            <summary>
            Alpha blends the icon. Alpha blending controls the transparency 
            level of an icon, according to the value of its alpha channel. 
            (Note: does not appear to be implemented).
            </summary>
        </member>
        <member name="T:Raccoom.Win32.ShellIconStateConstants">
            <summary>
            Flags specifying the state of the icon to draw from the Shell
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ShellIconStateConstants.ShellIconStateNormal">
            <summary>
            Get icon in normal state
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ShellIconStateConstants.ShellIconStateLinkOverlay">
            <summary>
            Put a link overlay on icon 
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ShellIconStateConstants.ShellIconStateSelected">
            <summary>
            show icon in selected state 
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ShellIconStateConstants.ShellIconStateOpen">
            <summary>
            get open icon 
            </summary>
        </member>
        <member name="F:Raccoom.Win32.ShellIconStateConstants.ShellIconAddOverlays">
            <summary>
            apply the appropriate overlays
            </summary>
        </member>
        <member name="T:Raccoom.Win32.SystemImageList">
            <summary>
            Summary description for SysImageList.
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.#ctor">
            <summary>
            Creates a Small Icons SystemImageList 
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.#ctor(Raccoom.Win32.SystemImageListSize)">
            <summary>
            Creates a SystemImageList with the specified size
            </summary>
            <param name="size">Size of System ImageList</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.Dispose">
            <summary>
            Clears up any resources associated with the SystemImageList
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.Dispose(System.Boolean)">
            <summary>
            Clears up any resources associated with the SystemImageList
            when disposing is true.
            </summary>
            <param name="disposing">Whether the object is being disposed</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.Finalize">
            <summary>
            Finalise for SysImageList
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.SHGetImageList(System.Int32,System.Guid@,Raccoom.Win32.SystemImageList.IImageList@)">
            <summary>
            SHGetImageList is not exported correctly in XP.  See KB316931
            http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q316931
            Apparently (and hopefully) ordinal 727 isn't going to change.
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.isXpOrAbove">
            <summary>
            Determines if the system is running Windows XP
            or above
            </summary>
            <returns>True if system is running XP or above, False otherwise</returns>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.create">
            <summary>
            Creates the SystemImageList
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.Icon(System.Int32)">
            <summary>
            Returns a GDI+ copy of the icon from the ImageList
            at the specified index.
            </summary>
            <param name="index">The index to get the icon for</param>
            <returns>The specified icon</returns>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.IconIndex(System.String)">
            <summary>
            Return the index of the icon for the specified file, always using 
            the cached version where possible.
            </summary>
            <param name="fileName">Filename to get icon for</param>
            <returns>Index of the icon</returns>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.IconIndex(System.String,System.Boolean)">
            <summary>
            Returns the index of the icon for the specified file
            </summary>
            <param name="fileName">Filename to get icon for</param>
            <param name="forceLoadFromDisk">If True, then hit the disk to get the icon,
            otherwise only hit the disk if no cached icon is available.</param>
            <returns>Index of the icon</returns>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.IconIndex(System.String,System.Boolean,Raccoom.Win32.ShellIconStateConstants)">
            <summary>
            Returns the index of the icon for the specified file
            </summary>
            <param name="fileName">Filename to get icon for</param>
            <param name="forceLoadFromDisk">If True, then hit the disk to get the icon,
            otherwise only hit the disk if no cached icon is available.</param>
            <param name="iconState">Flags specifying the state of the icon
            returned.</param>
            <returns>Index of the icon</returns>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.DrawImage(System.IntPtr,System.Int32,System.Int32,System.Int32)">
            <summary>
            Draws an image
            </summary>
            <param name="hdc">Device context to draw to</param>
            <param name="index">Index of image to draw</param>
            <param name="x">X Position to draw at</param>
            <param name="y">Y Position to draw at</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.DrawImage(System.IntPtr,System.Int32,System.Int32,System.Int32,Raccoom.Win32.ImageListDrawItemConstants)">
            <summary>
            Draws an image using the specified flags
            </summary>
            <param name="hdc">Device context to draw to</param>
            <param name="index">Index of image to draw</param>
            <param name="x">X Position to draw at</param>
            <param name="y">Y Position to draw at</param>
            <param name="flags">Drawing flags</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.DrawImage(System.IntPtr,System.Int32,System.Int32,System.Int32,Raccoom.Win32.ImageListDrawItemConstants,System.Int32,System.Int32)">
            <summary>
            Draws an image using the specified flags and specifies
            the size to clip to (or to stretch to if ILD_SCALE
            is provided).
            </summary>
            <param name="hdc">Device context to draw to</param>
            <param name="index">Index of image to draw</param>
            <param name="x">X Position to draw at</param>
            <param name="y">Y Position to draw at</param>
            <param name="flags">Drawing flags</param>
            <param name="cx">Width to draw</param>
            <param name="cy">Height to draw</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageList.DrawImage(System.IntPtr,System.Int32,System.Int32,System.Int32,Raccoom.Win32.ImageListDrawItemConstants,System.Int32,System.Int32,System.Drawing.Color,Raccoom.Win32.ImageListDrawStateConstants,System.Drawing.Color,System.Drawing.Color)">
            <summary>
            Draws an image using the specified flags and state on XP systems.
            </summary>
            <param name="hdc">Device context to draw to</param>
            <param name="index">Index of image to draw</param>
            <param name="x">X Position to draw at</param>
            <param name="y">Y Position to draw at</param>
            <param name="flags">Drawing flags</param>
            <param name="cx">Width to draw</param>
            <param name="cy">Height to draw</param>
            <param name="foreColor">Fore colour to blend with when using the 
            ILD_SELECTED or ILD_BLEND25 flags</param>
            <param name="stateFlags">State flags</param>
            <param name="glowOrShadowColor">If stateFlags include ILS_GLOW, then
            the colour to use for the glow effect.  Otherwise if stateFlags includes 
            ILS_SHADOW, then the colour to use for the shadow.</param>
            <param name="saturateColorOrAlpha">If stateFlags includes ILS_ALPHA,
            then the alpha component is applied to the icon. Otherwise if 
            ILS_SATURATE is included, then the (R,G,B) components are used
            to saturate the image.</param>
        </member>
        <member name="P:Raccoom.Win32.SystemImageList.Handle">
            <summary>
            Gets the hImageList handle
            </summary>
        </member>
        <member name="P:Raccoom.Win32.SystemImageList.ImageListSize">
            <summary>
            Gets/sets the size of System Image List to retrieve.
            </summary>
        </member>
        <member name="P:Raccoom.Win32.SystemImageList.Size">
            <summary>
            Returns the size of the Image List Icons.
            </summary>
        </member>
        <member name="T:Raccoom.Win32.SystemImageListHelper">
            <summary>
            Helper Methods for Connecting SystemImageList to Common Controls
            </summary>
        </member>
        <member name="M:Raccoom.Win32.SystemImageListHelper.SetListViewImageList(System.Windows.Forms.ListView,Raccoom.Win32.SystemImageList,System.Boolean)">
            <summary>
            Associates a SysImageList with a ListView control
            </summary>
            <param name="listView">ListView control to associate ImageList with</param>
            <param name="sysImageList">System Image List to associate</param>
            <param name="forStateImages">Whether to add ImageList as StateImageList</param>
        </member>
        <member name="M:Raccoom.Win32.SystemImageListHelper.SetTreeViewImageList(System.Windows.Forms.TreeView,Raccoom.Win32.SystemImageList,System.Boolean)">
            <summary>
            Associates a SysImageList with a TreeView control
            </summary>
            <param name="treeView">TreeView control to associated ImageList with</param>
            <param name="sysImageList">System Image List to associate</param>
            <param name="forStateImages">Whether to add ImageList as StateImageList</param>
        </member>
        <member name="T:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider">
            <summary>
            <c>TreeViewFolderBrowserDataProvider</c> is the standard data provider for <see cref="T:Raccoom.Windows.Forms.TreeViewFolderBrowser"/> which is based on <see cref="T:ROOT.CIMV2.Win32.Logicaldisk"/>, System.IO and <see cref="T:Raccoom.Win32.SystemImageList"/>
            <seealso cref="T:Raccoom.Windows.Forms.ITreeViewFolderBrowserDataProvider"/>
            </summary>
        </member>
        <member name="F:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider._systemImageList">
            <summary>Shell32 ImageList</summary>
        </member>
        <member name="F:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider._checkboxMode">
            <summary>last CheckboxMode used to fill the tree view, saved to know about changes</summary>
        </member>
        <member name="M:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider.CreateTreeNode(Raccoom.Windows.Forms.TreeViewFolderBrowserHelper,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new node and assigns a icon
            </summary>
            <param name="helper"></param>
            <param name="text"></param>
            <param name="path"></param>
            <param name="addDummyNode"></param>
            <param name="forceChecked"></param>
            <returns></returns>
        </member>
        <member name="M:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider.SetIcon(Raccoom.Windows.Forms.TreeViewFolderBrowser,Raccoom.Windows.Forms.TreeNodePath)">
            <summary>
            Extract the icon for the file type (Extension)
            </summary>
        </member>
        <member name="M:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProvider.GetWMIQueryStatement(Raccoom.Windows.Forms.TreeViewFolderBrowser)">
            <summary>
            Gets the WMI query string based on the current drive types.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32">
            <summary>
            <c>TreeViewFolderBrowserDataProvider</c> is the shell32 interop data provider for <see cref="T:Raccoom.Windows.Forms.TreeViewFolderBrowser"/> which is based on <see cref="T:ROOT.CIMV2.Win32.Logicaldisk"/>, <c>Shell32</c> Interop and <see cref="T:Raccoom.Win32.SystemImageList"/>
            <seealso cref="T:Raccoom.Windows.Forms.ITreeViewFolderBrowserDataProvider"/>
            </summary>
            <remarks>
            Shell32 does not support the .NET System.Security.Permissions system. There is no code access permission, only FileSystem ACL.
            </remarks>
        </member>
        <member name="F:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32._shell">
            <summary>Shell32 Com Object</summary>
        </member>
        <member name="F:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32._rootCollection">
            <summary>drive tree node (mycomputer) root collection</summary>
        </member>
        <member name="F:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32._showAllShellObjects">
            <summary>show only filesystem</summary>
        </member>
        <member name="M:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32.IsFolderWithChilds(Shell32.FolderItem)">
            <summary>
            Do we have to add a dummy node (+ sign)
            </summary>
        </member>
        <member name="P:Raccoom.Windows.Forms.TreeViewFolderBrowserDataProviderShell32.EnableContextMenu">
            <summary>
            Enables or disables the context menu which show's the folder item's shell verbs.
            </summary>
        </member>
        <member name="T:Raccoom.Windows.Forms.MenuItemShellVerb">
            <summary>
            Extends the <c>MenuItem</c> class with a Shell32.FolderItemVerb.
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


Written By
Software Developer (Senior)
Switzerland Switzerland
My interest is in the future because I am going to spend the rest of my life there. (Charles Kettering)

Biography

  • 1996 - 1998 PC Board PPL, HTML, DHTML, Javascript and ASP
  • 1999 - 2001 coding Centura against Sql Database (SqlBase,MSSQL,Oracle)
  • 2002 - 2004 C# Windows Forms
  • 2005 - 2006 C# ASP.NET, Windows Forms
  • 2006 - 2009 C#, WCF, WF, WPF
  • 2010 - 2012 C#, Dynamics CRM, Sharepoint, Silverlight
  • 2013 - 2013 C#, WCF DS (OData), WF, WPF
  • 2014 - 2016 C#, Azure PaaS, Identity, OWIN, OData, Web Api
  • 2017 - now C#, aspnet.core, IdentityServer4, TypeScript & Angular @ Azure IaaS or PaaS

Interests

  • family & friends
  • chilaxing ,)
  • coding

Comments and Discussions