예제 #1
0
 public void LoadIcons(ExplorerBrowser shellView, bool isLibrary)
 {
     tbLibrary.Text = @"C:\Windows\System32\imageres.dll";
     ShellView = shellView;
     IsLibrary = isLibrary;
     ShowDialog();
 }
예제 #2
0
        public void PopulateAvailableColumns(Collumns[] AvailableCols, ExplorerBrowser ShellView, System.Windows.Point Location)
        {

            BrowserControl = ShellView;
            for (int i = 1; i < AvailableCols.Length; i++)
            {
                if (AvailableCols[i].Name == null)
                {
                    MessageBox.Show("The More Columns dialog cannot be shown right now.", "More Columns", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                ListViewItem lvi = new ListViewItem(AvailableCols[i].Name);
                lvi.Tag = AvailableCols[i].pkey;
                foreach (Collumns collumn in ShellView.AvailableVisibleColumns)
	            {
		            if (collumn.pkey.fmtid == AvailableCols[i].pkey.fmtid && collumn.pkey.pid == AvailableCols[i].pkey.pid)
	                {
                        lvi.Checked = true;
	                }
	            }
                
                lvColumns.Items.Add(lvi);
            }
            Opacity = 0;
            Show();
            this.Location = new Point((int)Location.X, (int)Location.Y);
            //this.lvColumns.Sort(); //'this didn't do anything... lol.
            this.lvColumns.Sorting = SortOrder.Ascending;
            Opacity = 255;
        }
예제 #3
0
        public ExplorerBrowserNavigationLog(ExplorerBrowser parent)
        {
            if (parent == null)
            {
                throw new ArgumentException(LocalizedMessages.NavigationLogNullParent, "parent");
            }

            // Hook navigation events from the parent to distinguish between
            // navigation log induced navigation, and other navigations.
            this.parent = parent;
            this.parent.NavigationComplete += new EventHandler<NavigationCompleteEventArgs>(OnNavigationComplete);
            this.parent.NavigationFailed += new EventHandler<NavigationFailedEventArgs>(OnNavigationFailed);
        }
예제 #4
0
        internal ExplorerBrowserNavigationLog( ExplorerBrowser parent )
        {
            if( parent == null )
                throw new ArgumentException( "parent can not be null!" );

            //
            Locations = new List<ShellObject>();

            // Hook navigation events from the parent to distinguish between
            // navigation log induced navigation, and other navigations.
            this.parent = parent;
            this.parent.NavigationComplete += new ExplorerBrowserNavigationCompleteEventHandler( OnNavigationComplete );
            this.parent.NavigationFailed += new ExplorerBrowserNavigationFailedEventHandler( OnNavigationFailed );
        }
예제 #5
0
        /// <summary>
        /// Changes the PaneVisibility at Runtime
        /// </summary>
        /// <param name="PaneForChange">The pane for change (0x1 - Details, 0x2 - Preview, 0x3 - Navigation)</param>
        /// <param name="IsShow"></param>
        private void ChangePaneVisibility(uint PaneForChange, bool IsShow)
        {

            ShellObject lastLoc = Explorer.NavigationLog.CurrentLocation;
            //Explorer.automan.Dispose();
            Explorer.Dispose();
            Explorer = new ExplorerBrowser();

            switch (PaneForChange)
            {
                case 0x1:
                    {
                        Explorer.NavigationOptions.PaneVisibility.Details = IsShow ? PaneVisibilityState.Show : PaneVisibilityState.Hide;
                        RegistryKey rk = Registry.CurrentUser;
                        RegistryKey rks = rk.OpenSubKey(@"Software\BExplorer", true);
                        rks.SetValue(@"InfoPaneEnabled", IsShow ? 1 : 0);
                        rks.Close();
                        rk.Close();
                        IsInfoPaneEnabled = IsShow;
                        if (!IsNavigationPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Navigation = PaneVisibilityState.Hide;
                        }
                        if (!IsPreviewPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Preview = PaneVisibilityState.Hide;
                        }
                        else
                        {
                            Explorer.NavigationOptions.PaneVisibility.Preview = PaneVisibilityState.Show;
                        }
                        break;
                    }
                case 0x2:
                    {
                        Explorer.NavigationOptions.PaneVisibility.Preview = IsShow ? PaneVisibilityState.Show : PaneVisibilityState.Hide;

                        RegistryKey rk = Registry.CurrentUser;
                        RegistryKey rks = rk.OpenSubKey(@"Software\BExplorer", true);
                        rks.SetValue(@"PreviewPaneEnabled", IsShow ? 1 : 0);
                        rks.Close();
                        rk.Close();
                        IsPreviewPaneEnabled = IsShow;
                        if (!IsNavigationPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Navigation = PaneVisibilityState.Hide;
                        }
                        if (!IsInfoPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Details = PaneVisibilityState.Hide;
                        }
                        break;
                    }
                case 0x3:
                    {
                        Explorer.NavigationOptions.PaneVisibility.Navigation = IsShow ? PaneVisibilityState.Show : PaneVisibilityState.Hide;
                        IsNavigationPaneEnabled = true;
                        RegistryKey rk = Registry.CurrentUser;
                        RegistryKey rks = rk.OpenSubKey(@"Software\BExplorer", true);
                        rks.SetValue(@"NavigationPaneEnabled", IsShow ? 1 : 0);
                        rks.Close();
                        rk.Close();
                        IsNavigationPaneEnabled = IsShow;
                        if (!IsPreviewPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Preview = PaneVisibilityState.Hide;
                        }
                        else
                        {
                            Explorer.NavigationOptions.PaneVisibility.Preview = PaneVisibilityState.Show;
                        }
                        if (!IsInfoPaneEnabled)
                        {
                            Explorer.NavigationOptions.PaneVisibility.Details = PaneVisibilityState.Hide;
                        }
                        break;
                    }
                default:
                    break;
            }



            Explorer.SelectionChanged += new EventHandler(ExplorerBrowserControl_SelectionChanged);
            Explorer.NavigationComplete += new EventHandler<NavigationCompleteEventArgs>(ExplorerBrowserControl_NavigationComplete);
            Explorer.ViewEnumerationComplete += new EventHandler(ExplorerBrowserControl_ViewEnumerationComplete);
            Explorer.NavigationPending += new EventHandler<NavigationPendingEventArgs>(Explorer_NavigationPending);
            Explorer.GotFocus += new EventHandler(Explorer_GotFocus);

            Explorer.NavigationOptions.PaneVisibility.Commands = PaneVisibilityState.Hide;
            Explorer.NavigationOptions.PaneVisibility.CommandsOrganize = PaneVisibilityState.Hide;
            Explorer.NavigationOptions.PaneVisibility.CommandsView = PaneVisibilityState.Hide;
            Explorer.ItemsChanged += new EventHandler(Explorer_ItemsChanged);
            Explorer.ContentOptions.FullRowSelect = true;
            Explorer.ContentOptions.CheckSelect = false;
            Explorer.ClientSizeChanged += new EventHandler(ExplorerBrowserControl_ClientSizeChanged);
            Explorer.Paint += new System.Windows.Forms.PaintEventHandler(ExplorerBrowserControl_Paint);
            Explorer.ViewChanged += new EventHandler<ViewChangedEventArgs>(Explorer_ViewChanged);
            //Explorer.ItemHot += new EventHandler<ExplorerAUItemEventArgs>(Explorer_ItemHot);
            Explorer.ExplorerBrowserMouseLeave += new EventHandler(Explorer_ExplorerBrowserMouseLeave);
            Explorer.MouseMove += new System.Windows.Forms.MouseEventHandler(Explorer_MouseMove);

            isGoingBackOrForward = true;

            Explorer.Width = (int)ShellVView.Width;
            Explorer.Height = (int)ShellVView.Height;
            Explorer.Navigate(lastLoc);
            ShellVView.Child = Explorer;
        }
 internal ExplorerBrowserContentOptions( ExplorerBrowser eb )
 {
     this.eb = eb;
 }
예제 #7
0
 internal ExplorerBrowserNavigationOptions( ExplorerBrowser eb )
 {
     this.eb = eb;
     PaneVisibility = new ExplorerBrowserPaneVisibility( );
 }
 internal ExplorerBrowserViewEvents(ExplorerBrowser parent)
 {
     this.parent = parent;
 }
 public ExplorerBrowserContentOptions(ExplorerBrowser eb)
 {
     this.eb = eb;
 }
예제 #10
0
 public SubclassHWND(Microsoft.WindowsAPICodePack.Controls.WindowsForms.ExplorerBrowser browser, IntPtr sysListviewHandle)
 {
     this.Browser           = browser;
     this.SysListviewhandle = sysListviewHandle;
 }
 public ExplorerBrowserViewEvents(ExplorerBrowser parent)
 {
     this.parent = parent;
 }