- 作品名:
- 「
WPF補助色品 」 - 作者名:
- はりまお
- 制作機材:
- Core i7-4770 3.40GHz + 8GB RAM
- Windows 10 Pro (64bit, 22H2)
- 開発言語:
- Visual Studio Community 2017
- Visual Basic (WPFアプリケーション)
- 動作環境:
- .NET Framework 4.7.2
- 形態種別:
- フリーソフトウェア(ソース付き)
名前 | バージョン | 概容 |
---|---|---|
ソース | ||
ColorSupplement | ソースフォルダ | |
アプリケーション | ||
ColorSupplement.dll | 1.8.0.0 | 色機能DLL |
ColorSupplement.xml | IntelliSense用 | |
ColorSupplement_Sampler.exe | 1.2.0.0 | サンプル実行ファイル |
ドキュメント | ||
Readme_ColorSupplement.txt | 説明文(本文) |
WPFアプリケーションで使用できる、色に関するちょっとした機能を提供するクラスライブラリ(DLL)です。
「色の選択」ダイアログボックス(Forms.ColorDialogの代用となるカラーピッカー)やHSV関連、色を操作する幾つかのメソッドを収録しています。
同梱の"ColorSupplement_Sampler.exe"は、"ColorSupplement.dll"を使ったサンプルプログラムです。
ダウンロードした圧縮ファイルを適当な方法で解凍してください。
そこに収録されている"ColorSupplement.dll"を、開発中のWPFプロジェクトの参照に追加すると、ColorSupplement名前空間以下の各機能が使えるようになります。
また、"ColorSupplement.xml"を先のDLLファイルと同じ場所に置くと、IntelliSenseにコメントが表示されて便利です。
様々な機能を搭載していますが、難解な要素は皆無ですし、メソッドやプロパティ等の数も知れているので詳細は省きます。コードやIntelliSense、オブジェクト ブラウザー辺りを参考に何とかしてもらえると有り難いです。
ColorSupplement.ColorDialogは、Forms.ColorDialogの代用ではありますが、Forms.ColorDialogのUIやプロパティを踏襲していません。
とはいえ、『幾つかのプロパティを設定』→『モーダルウィンドウとして表示』→『プロパティから色を取り出す』という流れに変わりなく、大筋では大差ありません。
配布物にはソースも含まれています。本作は、作者が欲しい機能しか持たせていないので、足りない部分はどしどし改造してください。
ソースフォルダに".vs", "obj", "bin"フォルダを含めていないため、Visual Studioでソリューション(*.sln)を開くと幾つかの影響が現れます。
ソリューションを開いたら、とりあえずビルドしてください。"obj"フォルダが生成され、デザイナが使えるようになります。
コード エディタにおいて、Windowへの参照箇所でエラーが発せられる場合があります。当該コードの対になるデザイン(XAMLファイル)を上書き保存することで解消されます。
本クラスライブラリには、ファイルを生成したりレジストリを変更したりするコードは含まれていません。
なんやかんやWPFアプリケーションを構想していたら「さて、どうしたものか…」ってなるのが、コモンダイアログ喪失問題。中でも色をどうやって選択してもらうかって所は、わりと出くわす場面だったりする。昔に創ったWindowsフォームアプリケーションをWPFで創り直そうなんて目論むと、出鼻をくじかれてしまう。
だからと言って、Windowsフォームのコモンダイアログを流用するのは、ちょっとイヤだ。WPFとは、見た目もさることながら扱うColor構造体も噛み合わず、面倒だし面白味も欠く。さりとて、毎度毎度色を選択するUIをこしらえるのも億劫だ。
ならば、それなりにちゃんとしたものを最初に一つ作って使い回しちゃおう、ということでクラスライブラリの自作です。物はついで、おまけ機能も付け足して、以前に創った『本見 彩』のサブシステム的な感じになればいいかな。
だけど、クラスライブラリという形態では「アプリ全体を見通せるように、全要素を一つのソリューション内で賄う」という作者の美学(制作方針)が崩れてしまう。ソースコードの公開がやり難くなるし、更新による互換性問題をもはらんでしまう。
ソリューションが溢れかえるのも見通しが悪いし、外部リソースへの参照も不明瞭。結局どちらが楽なのか、大きなジレンマではあるが、現時点ではやるかたなしか…。
毎度、お世話になっております。大変有難く存じます。