Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

IShellView (Interfaces)
 
.
Summary
Extends the capabilities of IShellView2 by providing a method to replace IShellView2::CreateViewWindow2.

C# Definition:

[ComImport(),
Guid("ec39fa88-f8af-41c5-8421-38bed28f4673"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IShellView3 {
       int CreateViewWindow3(
        [In, MarshalAs(UnmanagedType.Interface)] IShellBrowser psbOwner,
        [In, MarshalAs(UnmanagedType.Interface)] IShellView psvPrevious,
        [In] SV3CVW3_FLAGS dwViewFlags,
        [In] FolderFlags dwMask,
        [In] FolderFlags dwFlags,
        [In] FolderViewMode fvMode,
        [In, Out] ref Guid pvid,
        [In, Out] ref RECT prcView,
        [Out] out UInt32 phWnd);
}

VB Definition:

<ComImport> _
<Guid("TODO")> _
'TODO: Insert <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ if this doesn't derive from IDispatch
Interface IShellView3
   TODO
End Interface

User-Defined Types:

None.

Notes:

    internal enum SV3CVW3_FLAGS
    {
    /// <summary>
    /// The default view.
    /// </summary>
    DEFAULT = 0x0,
    /// <summary>
    /// In the case of an error, the view should fail silently rather than displaying a UI.
    /// </summary>
    NONINTERACTIVE = 0x1,
    /// <summary>
    /// The view mode set by IShellView3::CreateViewWindow3 overrides the saved view state.
    /// </summary>
    FORCEVIEWMODE = 0x2,
    /// <summary>
    /// Folder flags set by IShellView3::CreateViewWindow3 override the saved view state.
    /// </summary>
    FORCEFOLDERFLAGS = 0x4
    }

    /// <summary>
    /// The folder flags are used to specify how the control displays its content.
    /// Most of these flags can be or'ed together.
    /// http://msdn.microsoft.com/en-us/library/bb762508(VS.85).aspx
    /// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix"), Flags]
    public enum FolderFlags : int
    {
        /// <summary> 0x00000000. Windows 7 and later. No special view options. </summary>
        None = 0x00000000,
        /// <summary>Automatically arrange the elements in the view. This implies LVS_AUTOARRANGE if the list view control is used to implement the view.</summary>
        AutoArrange = 0x00000001,
        /// <summary>Abbreviate names. This flag is not currently supported.</summary>
        AbbreviatedNames = 0x00000002,
        /// <summary>Arrange items on a grid. This flag is not currently supported.</summary>
        SnapToGrid = 0x00000004,
        /// <summary></summary>
        OwnerData = 0x00000008,
        /// <summary>This flag is not currently supported.</summary>
        BestFitWindow = 0x00000010,
        /// <summary>Enable the best-fit window mode. Let the view size the window so that its contents fit inside the view window in the best possible manner.</summary>
        Desktop = 0x00000020,
        /// <summary>Do not allow more than a single item to be selected. This is used in the common dialog boxes.</summary>
        SingleSelection = 0x00000040,
        /// <summary>Do not show subfolders.</summary>
        NoSubFolders = 0x00000080,
        /// <summary>Draw transparently. This is used only for the desktop.</summary>
        Transparent = 0x00000100,
        /// <summary>This flag is not currently supported.</summary>
        NoClientEdge = 0x00000200,
        /// <summary>Do not add scroll bars. This is used only for the desktop.</summary>
        NoScroll = 0x00000400,
        /// <summary>The view should be left-aligned. This implies LVS_ALIGNLEFT if the list view control is used to implement the view.</summary>
        AlignLeft = 0x00000800,
        /// <summary>The view should not display icons.</summary>
        NoIcons = 0x00001000,
        /// <summary>Always show the selection.</summary>
        ShowSelectionAlways = 0x00002000,
        /// <summary>This flag is not currently supported.</summary>
        NoVisible = 0x00004000,
        /// <summary>This flag is not currently supported.</summary>
        SingleClickActivate = 0x00008000,
        /// <summary>The view should not be shown as a Web view.</summary>
        NoWebView = 0x00010000,
        /// <summary>The view should not display file names.</summary>
        HideFilenames = 0x00020000,
        /// <summary>Turns on the check mode for the view.</summary>
        CheckSelect = 0x00040000,
        /// <summary>Windows Vista and later: Do not re-enumerate the view (or drop the current contents of the view) when the view is refreshed.</summary>
        NoEnumRefresh = 0x00080000,
        /// <summary>Windows Vista and later: Do not allow grouping in the view</summary>
        NoGrouping = 0x00100000,
        /// <summary>Windows Vista and later: When an item is selected, the item and all its sub-items are highlighted.</summary>
        FullRowSelect = 0x00200000,
        /// <summary>Windows Vista and later: Do not display filters in the view.</summary>
        NoFilters = 0x00400000,
        /// <summary>Windows Vista and later: Do not display a column header in the view in any view mode.</summary>
        NoColumnHeader = 0x00800000,
        /// <summary>Windows Vista and later: Only show the column header in details view mode.</summary>
        NoHeaderInAllViews = 0x01000000,
        /// <summary>Windows Vista and later: When the view is in "tile view mode" the layout of a single item should be extended to the width of the view.</summary>
        ExtendedTiles = 0x02000000,
        /// <summary>Windows Vista and later: Check boxes have 3 modes: unchecked, SVSI_CHECK, SVSI_CHECK2.</summary>
        TriCheckSelect = 0x04000000,
        /// <summary>Windows Vista and later: Items can be selected using checkboxes.</summary>
        AutoCheckSelect = 0x08000000,
        /// <summary>Windows Vista and later: The view should not save view state in the browser.</summary>
        NoBrowserViewState = 0x10000000,
        /// <summary>Windows Vista and later: The view should list the number of items displayed in each group. To be used with IFolderView2::SetGroupSubsetCount.</summary>
        SubsetGrouops = 0x20000000,
        /// <summary>Windows Vista and later: Use the search folder for stacking and searching.</summary>
        UseSearchFolder = 0x40000000,
        // /// <summary>Windows Vista and later: Ensure right-to-left reading layout.</summary>
        //AllowRtlReading = 0x80000000 (not int compatible; see bug #9582)
    }

    /// <summary>
    /// Enumerates the different viewmodes of the explorer listview.
    /// </summary>
    public enum FolderViewMode : int
    {
        /// <summary> The view should determine the best option.</summary>
        Auto = -1,
        //FVM_FIRST = 1,
        /// <summary>The view should display medium-size icons.</summary>
        Icon = 1,
        ///<summary> Each item appears as a small icon with the label to the right of it. ///</summary>
        ///<remarks>Using List as SmallIcons - like Delphi version.</remarks>
        SmallIcon = 3,
        ///<summary>
        ///Each item appears as a small icon with a label to the right of it. Items are arranged in
        ///columns and cannot be dragged by the user.
        ///</summary>
        List = 3,
        /// <summary>Object names and other selected information, such as the size or date last updated, are shown.</summary>
        Details = 4,
        /// <summary>The view should display thumbnail icons.</summary>
        Thumbnail = 5,
        /// <summary>The view should display large icons.</summary>
        Tile = 6,
        //Thumbstrip = 7, (same as Thumbnail)
        /// <summary>
        /// Windows 7 and later. The view should display content mode.    
        /// FVM_CONTENT New for Windows 7, see http://msdn.microsoft.com/en-us/library/bb762510%28VS.85%29.aspx
        /// </summary>
        Content = 8,
        //FVM_LAST = 8
    }

Documentation
IShellView3 on MSDN

Please edit this page!

Do you have...

  • helpful tips?
  • corrections to the existing content?
  • alternate definitions?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing any supporting types needed.

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions