internal ThumbnailToolbarProxyWindow(System.Windows.UIElement windowsControl, ThumbnailToolBarButton[] buttons) { if (windowsControl == null) { throw new ArgumentNullException("windowsControl"); } if (buttons != null && buttons.Length == 0) { throw new ArgumentException(LocalizedMessages.ThumbnailToolbarManagerNullEmptyArray, "buttons"); } _internalWindowHandle = IntPtr.Zero; WindowsControl = windowsControl; _thumbnailButtons = buttons; // Set the window handle on the buttons (for future updates) Array.ForEach(_thumbnailButtons, new Action<ThumbnailToolBarButton>(UpdateHandle)); }
internal ThumbnailToolbarProxyWindow(IntPtr windowHandle, ThumbnailToolBarButton[] buttons) { if (windowHandle == IntPtr.Zero) { throw new ArgumentException(LocalizedMessages.CommonFileDialogInvalidHandle, "windowHandle"); } if (buttons != null && buttons.Length == 0) { throw new ArgumentException(LocalizedMessages.ThumbnailToolbarManagerNullEmptyArray, "buttons"); } _internalWindowHandle = windowHandle; _thumbnailButtons = buttons; // Set the window handle on the buttons (for future updates) Array.ForEach(_thumbnailButtons, new Action<ThumbnailToolBarButton>(UpdateHandle)); // Assign the window handle (coming from the user) to this native window // so we can intercept the window messages sent from the taskbar to this window. this.AssignHandle(windowHandle); }
private void CreateThumbButtons() { _ButtonPrev = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Previous.ico"), Locale.Current.Common.Previous); _ButtonPrev.Click += _ButtonPrev_Click; _ButtonInbox = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Inbox.ico"), Locale.Current.Thumbnails.Inbox); _ButtonInbox.Click += _ButtonInbox_Click; _ButtonNext = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Next.ico"), Locale.Current.Common.Next); _ButtonNext.Click += _ButtonNext_Click; _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext }); }
/// <summary> /// Creates a Event Args for the TabbedThumbnailButton.Click event /// </summary> /// <param name="windowsControl">WPF Control (UIElement) related to the event</param> /// <param name="button">Thumbnail toolbar button that was clicked</param> public ThumbnailButtonClickedEventArgs(UIElement windowsControl, ThumbnailToolBarButton button) { ThumbnailButton = button; WindowHandle = IntPtr.Zero; WindowsControl = windowsControl; }
/// <summary> /// Creates a Event Args for the TabbedThumbnailButton.Click event /// </summary> /// <param name="windowHandle">Window handle for the control/window related to the event</param> /// <param name="button">Thumbnail toolbar button that was clicked</param> public ThumbnailButtonClickedEventArgs(IntPtr windowHandle, ThumbnailToolBarButton button) { ThumbnailButton = button; WindowHandle = windowHandle; WindowsControl = null; }
private void CreateThumbButtons() { _ButtonPrev = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous); _ButtonPrev.Click += _ButtonPrev_Click; _ButtonInbox = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox); _ButtonInbox.Click += _ButtonInbox_Click; //try { // _ButtonInbox.Icon = Resources.Icons.Inbox; //} //catch(Microsoft.WindowsAPI.Shell.ShellException) { // // happens from time to time, seems like only when the machine comes out of hibernation // // Exception: Microsoft.WindowsAPI.Shell.ShellException (0x800705B4): Shell Exception has occurred, look at inner exception for information. //} _ButtonNext = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next); _ButtonNext.Click += _ButtonNext_Click; _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext }); }
private void CreateThumbButtons() { _ButtonPrev = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous); _ButtonPrev.Click += _ButtonPrev_Click; _ButtonInbox = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox); _ButtonInbox.Click += _ButtonInbox_Click; _ButtonNext = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next); _ButtonNext.Click += _ButtonNext_Click; _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext }); }
private void UpdateHandle(ThumbnailToolBarButton button) { button.WindowHandle = _internalWindowHandle; button.AddedToTaskbar = false; }