From d9fb2ebdf54a7c93318d38852aa0b4224f45af8c Mon Sep 17 00:00:00 2001 From: Jaex Date: Fri, 18 Mar 2022 11:31:40 +0300 Subject: [PATCH] Change cursor when inside navigation zone --- ShareX.HelpersLib/Controls/MyPictureBox.cs | 14 ++++++++++++++ ShareX.HelpersLib/Forms/ImageViewer.cs | 22 ++++++++++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/ShareX.HelpersLib/Controls/MyPictureBox.cs b/ShareX.HelpersLib/Controls/MyPictureBox.cs index df3847991..825934403 100644 --- a/ShareX.HelpersLib/Controls/MyPictureBox.cs +++ b/ShareX.HelpersLib/Controls/MyPictureBox.cs @@ -150,6 +150,20 @@ public bool DrawCheckeredBackground } } + public new event MouseEventHandler MouseMove + { + add + { + pbMain.MouseMove += value; + lblStatus.MouseMove += value; + } + remove + { + pbMain.MouseMove -= value; + lblStatus.MouseMove -= value; + } + } + public bool IsValidImage { get diff --git a/ShareX.HelpersLib/Forms/ImageViewer.cs b/ShareX.HelpersLib/Forms/ImageViewer.cs index 7688b2626..b3854c7ce 100644 --- a/ShareX.HelpersLib/Forms/ImageViewer.cs +++ b/ShareX.HelpersLib/Forms/ImageViewer.cs @@ -219,6 +219,22 @@ private void pbPreview_MouseDown(object sender, MouseEventArgs e) } } + private void pbPreview_MouseMove(object sender, MouseEventArgs e) + { + if (e.Location.X < ClientSize.Width * 0.2) + { + Cursor = Cursors.PanWest; + } + else if (e.Location.X > ClientSize.Width * 0.8) + { + Cursor = Cursors.PanEast; + } + else + { + Cursor = Cursors.Hand; + } + } + private void pbPreview_MouseWheel(object sender, MouseEventArgs e) { if (e.Delta > 0) @@ -299,20 +315,18 @@ private void InitializeComponent() lblStatus.Visible = false; Controls.Add(lblStatus); - pbPreview.Cursor = Cursors.Hand; pbPreview.Dock = DockStyle.Fill; pbPreview.DrawCheckeredBackground = true; - pbPreview.FullscreenOnClick = false; pbPreview.Location = new Point(0, 0); - pbPreview.Name = "pbPreview"; pbPreview.ShowImageSizeLabel = true; - pbPreview.Size = new Size(96, 100); + pbPreview.Size = new Size(100, 100); pbPreview.TabIndex = 0; Controls.Add(pbPreview); Shown += ImageViewer_Shown; Deactivate += ImageViewer_Deactivate; pbPreview.MouseDown += pbPreview_MouseDown; + pbPreview.MouseMove += pbPreview_MouseMove; pbPreview.MouseWheel += pbPreview_MouseWheel; pbPreview.KeyDown += pbPreview_KeyDown; pbPreview.PreviewKeyDown += pbPreview_PreviewKeyDown;