スピンコントロールのダークモードは可能ですか? X Facebook はてブ Pocket LINE コピー 2024.04.12 ホーム › フォーラム › Windows Forms 用コントロール(OTZControls) › スピンコントロールのダークモードは可能ですか? このトピックには15件の返信、1人の参加者があり、最後にあきらにより1年、 9ヶ月前に更新されました。 15件の投稿を表示中 - 1 - 15件目 (全16件中) 1 2 → 投稿者 投稿 2022/11/21 09:43 #1438 あきらゲスト C#で.NET6のWinFormsを使用したアプリ作成しています。 ダークモードに対応するため、サンプルをダウンロードしてみました。 数値の増減をコントロールするスピンコントロールはダークモードに対応できるでしょうか? 2022/11/22 01:21 #1439 TZキーマスター お問合せありがとうございます。ダークモード化できるか確認してみます。 2022/11/23 14:45 #1441 TZキーマスター 確認しました。ボタン部分を独自描画すればダークモード化できそうです。次のリリースで公開します。 2022/11/23 20:13 #1442 あきらゲスト ありがとうございます。 ソース購入したので期待しています。 2022/11/26 15:23 #1447 TZキーマスター ご購入ありがとうございます。お待たせしました。スピンボックスコントロールをダークモード化したものをリリースしました(v4.0.3) よろしくお願いいたします。 2022/11/26 18:04 #1448 あきらゲスト 早速の対応ありがとうございます。 フォーム上に配置したコントロールは正常にダークモードに切り替わりましたが、 ToolStripに配置したコントロール(ToolStripControlHostの派生クラスでラップしたTZNumericUpDown)は EnumChildWindowsがCount:0で失敗するようです。 2022/11/26 18:16 #1449 TZキーマスター ご連絡ありがとうございます。なるほど。ToolStrip に配置されるんですね。 まったく想定していませんでした。確認します。 2022/11/26 18:33 #1450 あきらゲスト ダークモードの切り替えを2回行うと正常に配置されました。 タイミングの問題ですかね。 2022/11/26 18:40 #1451 TZキーマスター フォームが表示されていない状態(コンストラクタなど)でダークモードの設定をするとカウント0のエラーになりますね。 Load か Shown イベントでダークモードの設定をすると回避できますが、対策を考えてみます。 2022/11/26 18:48 #1452 あきらゲスト フォームのロードイベントでテーマ設定することで回避できました。 ありがとうございました。 話は変わりますが、ListViewコントロールのヘッダ部分について、darkmode_itemsviewでダークモードになりますが、 OnDrawColumnHeaderの設定により、ヘッダ部のクリックで選択色が変わったり、ソートマークが消えたり、マウスのホーバー反応がなくなったり問題があります。これらは回避できるのでしょうか? 2022/11/26 23:43 #1453 TZキーマスター 確認しました。難しいですね。ダークモードにした時点でマウスホーバーはしなくなりますね。 オーナードローでどこまで実装するかになると思います。ちなみに、ソートマークはどのようにして表示しているのでしょうか? 2022/11/27 08:41 #1454 あきらゲスト OnDrawColumnHeader で e.DrawDefault = true;すれば、文字色以外は良い感じなんですけどね。 下記のページでWM_NOTIFYによる回避方法が紹介されていましたが、どうなんでしょう。 https://github-wiki-see.page/m/tablacus/TablacusDark/wiki/listview ソートマークは、HDM_GETITEM して HDITEM にフラッグを設定、HDM_SETITEMしてます。 2022/11/27 14:16 #1456 TZキーマスター ありがとうございます。リストビューの実装を変更してv4.0.4をリリースしました。ソートマークは公開ソースには含まれていませんが、マークが表示されるところまでは確認しました(ソートマークは実装が必要なんですね…。) ただ、現時点では、下記に該当すると別途実装が必要そうです。他にもあるかもしれません。 ・行選択を FullRowSelect=false で利用したい場合 ・フォーカスアウトした場合の選択色を変えたい場合 2022/11/27 14:59 #1457 あきらゲスト ListView の選択色(背景色)は、OnDrawItemで base.OnDrawItem(e); if(e.Item.Selected){ e.Graphics.FillRectangle(Brushes.DarkCyan, e.Bounds); } e.DrawDefault = true; で変更できるようです。 2022/11/27 15:07 #1458 TZキーマスター ありがとうございます。あと、スピンボックスの問題(EnumChildWindowsがCount:0)は回避できそうにないので Load イベント以降でテーマ設定しないといけない制約となります…。 投稿者 投稿 15件の投稿を表示中 - 1 - 15件目 (全16件中) 1 2 → トピック「スピンコントロールのダークモードは可能ですか?」には新しい返信をつけることはできません。