Sponsored Link

ラジェの画面デザインを変えてみる

from 2002/05/26 update 2002/05/28
はじめに

CASIOのCASSIOPEIA l'agendaには設定メニューの中に画面デザインというものがある。 これを使うと予め用意された8種類の色設定から画面の配色を選択することができたりするのだけれど、個人的にはセンスを疑うようなのもあったり。

で、2chのラジェスレで色を変えたい、という話題が出ていたのでちょっとレジストリをのぞいて見るとそれらしいキーがあり、しかも追加情報でAPIがでてきた。

なのでちょっと作ってみようかと。

調べてみる

情報へのポインタ。(751さんに感謝)
ce.Net用解説(MSDN)。実は2.0から同じ?
設定用API SetSysColors(MSDN)
解説には"The SetSysColors function changes the current session only. The new colors are not saved when the system terminates." とあるので 当然明示的にレジストリを書き換えない限りはそのままだと思ったのだけれど。 実際にはAPIを呼んだタイミングでレジストリも書き換わっているのか? current session onlyというのはソフトリセットでさようならという意味だと思ったのだけれど。 デスクトップOSだったらcurrent sessionというとブートからシャットダウンのはず。 で、画面設定の内容を引き継ぐのはそこでAPI呼んでレジストリも書き換えている...んじゃないのか? デスクトップ版も書いて試すしかないのか...
取得用API GetSysColor(MSDN)
こっちが取得用APIの解説。ここにあるやつの日本語訳が選択肢にでてくる。
日本語で読みたい方は日本語MSDNのwin32SDKのところで探してみて。

設定するだけでなく取得するAPIもあることがわかったのでまずはデフォルトで使える8種類の配色を調べてみた。

実は設定可能な項目が27項目あって何がなにやらという感じ。

作ってみる

やることとしては簡単なのだが項目が多い割りにわかりずらいのでUIはよくないかも。 選択肢に出る名称はMSDNのをほぼぱくった。 そしてもうひとつ、ラジェの色選択ダイアログでは自由に色が作れないようなのでその部分を自作。

ということで制作1週間でできました。 日中まじめにやったら1日くらい? 仕事量的にはきっとラジェに最初から載ってるツールは新人さんの研修ネタだな、ていう感じ。

落としてみる

まずは注意書き。

このプログラムはフリーソフトウェアです。 このプログラムを使用した結果によるいかなる責任・損害も作者は負わないものとします。

以上の条件を了承された方はどうぞご利用ください。 ということでここに圧縮ファイルをおいておく。

対応機種:l'agendaのみといいたいところだがWindowsCE2.11以降のカラー画面を持つ機種ならほぼ動く?
動作確認機種:CASIO BE-500(ぽぽぺも動くはずだけどダイアログが出せないので保存読み込み不可)

使ってみる

使い方は簡単。 解凍してl'agenda(もしくは他のCE機)上で実行するだけ。 申し訳ないが現時点ではインストーラは用意していないのでラジェンダでかつ自由にプログラムを起動できるファイラー系のソフトのない人はCFカード内のProgram Files以下にでもなんとか入れてみて。

画面はこんな感じ。

画面の取り込みにはrCE、GIMPを使用しました。

保存読み込みはそれぞれテキストファイルを操作しているだけ。 フォーマットはコンボボックスに出てくる項目順にBGR順の6桁の16進数をカンマ区切りで27個ならべ、最後のカンマのあとに"SysColor V1.0"と文字が入る。 読み込み時は決め打ちで読んで最後の文字列でデータファイルかどうかをチェックしてる。 色指定部はたとえ0でも省略はだめ、abcdefの大文字小文字はどっちでもOK。 最後の文字列は大文字小文字区別ありなので注意。 以下がサンプルでこれは本体標準のラジェンダスタンダード配色。 実際のファイルは途中改行しないので注意。

a8a8a8,c8c8c8,404040,a0a0a0,d8d8d8,ffffff,000000,000000,000000,ffffff,000000,
000000,ffffff,b16327,ffffff,c8c8c8,a8a8a8,787878,000000,d8d8d8,ffffff,191919,
ffffff,000000,c8c8c8,c8c8c8,000000,SysColor V1.0

注意点としては結局APIで間接的にレジストリを書き換えていることに注意。 そのため最悪の場合、文字や記号を確認できない配色になっても、このプログラムもしくはデフォルトの"画面デザイン"での復活に支障が出る可能性がある。 (多分トップメニューが出せたらアイコンを頼りに戻せると思うけど) その時はあきらめてハードリセットしてちょうだい。

探してみる

作った後でWinCEFANをチェックすると同じようなツールが2つばかり登録されてた。 l'agendaでもPalmSizePC版なら動くような気がするのでそっちも誰か使ってみて。 使った人は比較レポートよろしく。

さいごに

きっかけと情報をくれたラジェンダスレの人たちに感謝。 そしていつまでも良スレでありますように。

by ラジェンダスレの748