INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2025-12-30 00:58

■自作ソフトに目をやられそうになったので、ダークモード対応を始めました

2025年12月30日(火) 0:58:22



RSSRSS配信中
https://www.inasoft.org/



子どもたちが冬休みに入り、小学生の長男も自宅にいてRoblox Studioでゲーム作りに勤しんでいるようなのですが、最近のRoblox Studioのバージョンでは、トグルONの状態が見えづらいんだそうで、何とかならないか?と相談がありました。

ダークモードを利用してみては?と答えまして、実際に試してみると、見やすくなったと好評の様子。

自分の場合、スマートフォンであれば、暗所(布団の中とか)で使うこともあるので、ダークモードを利用することはあります。
しかし、PCでは利用したことがありませんでした。
ってか、PCのモニタを見るときって、基本的に部屋は明るくして見るもんなわけですから、ダークモードにする必要なんてある?

そう思っていた時期が、私にもありました。
実際、長男が見ているダークモードの画面を見ると、なんだか落ち着く。なるほど、これはとても良いかもしれない。

というわけで、僕自身もダークモードでしばらくPCを使うことにしました。
なるほど、落ち着く。

そんなことを思いながら自作ソフトを立ち上げてみたら・・・
まぶしい!
目がぁ、目がぁ~~~~・・・。


古くからの時代から存在するWin32のアプリは、OSが勝手にダークモードに対応させたりしてくれるわけではないようです。
昔の「テーマ」であれば、勝手に対応してくれていたと思うので、自動対応のためのポテンシャルはあるはずなのですが、なぜかやってくれないみたい。

というわけで、2025年になって初めて、Windowsのダークモードに対応した画面表示をやってみようという気になりました。
参考にしたのはこちらのサイト。

Win32 アプリケーションのダークモードタイトルバーを有効にする(C++)
Win32 アプリケーションのメニューをダークモード対応する(C++)
Win32 アプリケーションのダイアログボックスをダークモード対応する(C++)

ダークモードになっているかどうかはレジストリ値を参考に決めることにします。
アプリケーションの動作中に設定を変えられた場合も、極力自動追随したいと思っていますが、なかなかうまくいかないところもあり。それは今後の検討とします。
タイトルバー、中のコントロール、メニューバー、ポップアップメニューについては対応できました。
(MessageBox() APIで作られるメッセージダイアログは、対応方法がわからず)

ひとまず、テスト的な実装として、最小限の構成を持つ 「NumLockLock」 と、メニューバーを持っていて独自の描画機能のある「疑似ダッシュボードPro」で、テスト実装をしてみました。

それぞれ、β版として公開してみましたので、お試しいただければと思います。





リストビュー、ホットキー入力欄、メッセージボックス、ツールチップ(マウスホバーで出てくるヒント文字列)のあたりは、対応方法がわからず、未対応です。もしかしたらこのままとするかもしれません。
また、個人的な感想になってしまいますが、非活性のチェックボックスとか、非活性のラベルが非常に見づらい。なんとかしたい。

今後の予定としては、「マウスのお供」「マウスふるふる」「改行コード変換Lite」あたりのダークモードへのテスト対応を進めてみたいと考えています。



目次 | ←前へ / 2025-12-30 00:58


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3412071 (+0061)[+0242]

Copyright© 2010-2025 INASOFT