From: Kimura Youichi Date: Thu, 5 Feb 2015 15:47:28 +0000 (+0900) Subject: VScrollBarのスケーリング処理を追加 X-Git-Tag: OpenTween_v1.2.5~21 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6414b89e6d10608a41d3f06fbc9771241acf86ba;p=opentween%2Fopen-tween.git VScrollBarのスケーリング処理を追加 --- diff --git a/OpenTween.Tests/OTBaseFormTest.cs b/OpenTween.Tests/OTBaseFormTest.cs index 4211a487..ab55d42f 100644 --- a/OpenTween.Tests/OTBaseFormTest.cs +++ b/OpenTween.Tests/OTBaseFormTest.cs @@ -75,5 +75,16 @@ namespace OpenTween Assert.Equal(175, listview.Columns[1].Width); } } + + [Fact] + public void ScaleChildControl_VScrollBarTest() + { + using (var scrollBar = new VScrollBar { Width = 20, Height = 200 }) + { + OTBaseForm.ScaleChildControl(scrollBar, new SizeF(2.0f, 2.0f)); + + Assert.Equal(40, scrollBar.Width); + } + } } } diff --git a/OpenTween/OTBaseForm.cs b/OpenTween/OTBaseForm.cs index 5ef1e458..960e7012 100644 --- a/OpenTween/OTBaseForm.cs +++ b/OpenTween/OTBaseForm.cs @@ -97,6 +97,14 @@ namespace OpenTween } } + /// + /// 標準の VScrollBar のスケーリングでは不十分な処理を補います + /// + public static void ScaleChildControl(VScrollBar scrollBar, SizeF factor) + { + scrollBar.Width = ScaleBy(factor.Width, scrollBar.Width); + } + public static Size ScaleBy(SizeF factor, Size size) { return Size.Round(new SizeF(size.Width * factor.Width, size.Height * factor.Height)); diff --git a/OpenTween/Resources/ChangeLog.txt b/OpenTween/Resources/ChangeLog.txt index 845eaa20..edcf57eb 100644 --- a/OpenTween/Resources/ChangeLog.txt +++ b/OpenTween/Resources/ChangeLog.txt @@ -22,6 +22,7 @@ * FIX: 発言詳細欄からツイート本文をコピーした際に改行が失われてしまう問題を回避 * FIX: プロフィール編集に失敗した場合に「適用」ボタンが無効のまま元に戻らない不具合を修正 * FIX: プロフィール編集中にプロフィール画面を閉じるとエラーが発生する不具合を修正 + * FIX: 高DPI環境でサムネイル表示部の縦スクロールバーが正しくスケーリングされない問題を修正 ==== Ver 1.2.4(2014/11/23) * NEW: Mobypicture (mobypicture.com) への画像投稿に対応 diff --git a/OpenTween/TweetThumbnail.Designer.cs b/OpenTween/TweetThumbnail.Designer.cs index b8043fc4..c0679a0c 100644 --- a/OpenTween/TweetThumbnail.Designer.cs +++ b/OpenTween/TweetThumbnail.Designer.cs @@ -71,7 +71,7 @@ // TweetThumbnail // resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.Controls.Add(this.panelPictureBox); this.Controls.Add(this.scrollBar); this.Name = "TweetThumbnail"; diff --git a/OpenTween/TweetThumbnail.cs b/OpenTween/TweetThumbnail.cs index 9efb44e1..3b98034d 100644 --- a/OpenTween/TweetThumbnail.cs +++ b/OpenTween/TweetThumbnail.cs @@ -192,6 +192,12 @@ namespace OpenTween this.scrollBar.Value = newval; } + protected override void ScaleControl(SizeF factor, BoundsSpecified specified) + { + base.ScaleControl(factor, specified); + OTBaseForm.ScaleChildControl(this.scrollBar, factor); + } + private void scrollBar_ValueChanged(object sender, EventArgs e) { using (ControlTransaction.Layout(this, false)) diff --git a/OpenTween/TweetThumbnail.resx b/OpenTween/TweetThumbnail.resx index 49b61ead..fb891b1c 100644 --- a/OpenTween/TweetThumbnail.resx +++ b/OpenTween/TweetThumbnail.resx @@ -213,9 +213,6 @@ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 96, 96 - 17, 150