アイコン関連についてNo.08737
Gertrud さん 04/11/28 08:03
 
Gertrudです。

先日、鶴亀メール用のアイコンモジュール(ThunderTsurukame)を初めて作った
のですが、作成している段階で気になったことが何点かありました。(と〜って
も細かい話で大変申し訳ないのですが。。。)


1.鶴亀メールのアイコンモジュールは各ペイン内のアイコン、ツールバーのみ
    ならず、それに加えて各ウィンドウのタイトルバー左上のアイコンまで変更
    出来るようになっています。

    このタイトルバー内に使われるアイコンにマルチアイコンファイル(サイズ
    が違ったり色数の違ったりと、アイコンが多数混在する1アイコンファイ
    ル)を指定した場合、タイトルバー内のアイコンが、適切なサイズ・色数の
    アイコンになってないように見えます。(多分、マルチアイコンファイル内
    の先頭のアイコンを表示している?)
   
    ここに適切なサイズ・色数のアイコンが表示されるようには出来ませんで
    しょうか?
   
    ※ マルチアイコンは、16x16 + 32x32のアイコンの場合ですと、例えば、
        ↓ 32x32 256色    
        ↓ 16x16 256色
        ↓ 32x32 32bit色
        ↓ 16x16 32bit色
      の順で並んで格納されています。
   
   
2.本体ウィンドウからアドレス帳を表示した際、Alt+Tabで表示されるアイコ
    ンは 16x16のサイズのものが使われています。リソースで言うところの
    「IDICON_32_BOOK_ROOT」に 32bitのサイズも加えて指定できたらうれしい
    のですが。


3.リモートメールのダイアログのアイコンは、アイコンモジュールで変更でき
    るようには出来ませんか?


4.ツールバー内のアイコン下の余白が、心もち開きすぎているように見えます。
    2ドットほど狭めていただくようには出来ませんでしょうか?



とても細かく、また直接の機能には結びつかない指摘ですが、どうか考慮して頂
けるよう、お願いいたします。

[ ]
RE:08737 アイコン関連についてNo.08739
秀まるお さん 04/11/29 17:19
 
 アイコンモジュール作っていただいてありがとうございます。

■その1(マルチアイコンがうまく出ない件)

 たぶん、僕の方でのアイコンのロード方法が悪いんだと思います。今は、
LoadImageという関数を使ってアイコンをロードしてますが、それをLoadIconに
すれば直ると思います。

 なぜLoadIconじゃなくてLoadImageを使ってるのかは覚えてないです。

 LoadIconを使うように直してみます。それでもダメでしたらまた教えて欲しい
です。

■その2(アドレス帳のアイコン)

 ソースコードを見たら、それようの32x32アイコンをロードするような処理が
ありませんで、16x16のアイコンを無理矢理ウィンドウにセットしてました。

 これまた、LoadIconしたアイコンハンドルをウィンドウに渡すように直してみ
ます。

■その3(リモートメールのダイアログボックス・アイコン)

 これも、しいてそのように処理すれば出来ます。何か適当なリソースIDを割り
振ってみます。具体的なIDが決まったらまたここにコメント発言します。

■その4(ツールバーの下の余白)

 言われてみて、今さらエクスプローラとかと比べてみたら、たしかに余白が大
きいようです。調べてみたら、TB_SETPADDINGってメッセージを使って余白がコ
ントロールできるようです。その辺いろいろいじって、なんとかエクスプローラ
類と同じ程度になるように調整してみます。

 いろいろやってみないと分からないこともあるので、もしかしたらダメかもし
れませんけど…。次のβ版でもおかしかったらまた催促ください。

[ ]
RE:08739 アイコン関連についてNo.08740
秀まるお さん 04/11/29 17:38
 
 リソースIDですけど、以下のようになります。

#define IDICON_90_WAIT1                 190
#define IDICON_91_WAIT2                 191

#define IDICON_93_FINDDLG               193
#define IDICON_94_FILTERACTION_ETC      194
#define IDICON_95_FILTERACTION_THROUGH  195
#define IDICON_96_SIGNATURE             196
#define IDICON_97_TEMPLATE              197
#define IDICON_98_HANGUPCHECKER         198
#define IDICON_99_REMOTEMAIL            199


 190番と191番は、「今すぐ送信」などで他のウィンドウの送受信待ちの時にダ
イアログボックス内に表示するアイコンで、0.5秒間隔で交互に表示される物で
す。

 193番は、検索結果のウィンドウ用のアイコン。
 194番は、振り分け設定での「その他」動作アイコン。
 195番は、振り分け設定での「他の振り分け条件と合成」のアイコン。
 196番は、テンプレート/署名編集での署名アイコン。
 197番は、テンプレート/署名編集での新規メールテンプレートアイコン。
 198番は、Hangup Checkerのアイコン(デバッグ用のアイコン)
 199番が、リモートメールダイアログボックス。

 とします。

 もちろん、アイコンモジュール側に入ってなければ鶴亀メールの物をそのまま
使うことになります。

[ ]
RE:08740 アイコン関連についてNo.08741
Gertrud さん 04/11/29 19:59
 
Gertrudです。


大変細かい話に付き合っていただいて、ありがとうございます。

マルチアイコンがうまく出ない件と、リモートメール等のアイコンの件、対応し
て頂けるようで大変感謝しています。期待して待っています。タスクトレイの常
駐部分もマルチアイコンになっていますでしょうか?


ツールバーの下の余白の件につきましては、探したところ以前にも報告があった
みたいですね。調査不足でした。。。私の環境も WindowsXPです。

    http://hidemaruo.dip.jp:81/hidesoft/hidesoft_8/x10786.html
    http://hidemaruo.dip.jp:81/hidesoft/hidesoft_8/x12282.html

そこでの話を見ると、対応が面倒だとか。。。難しいようでしたら留保いたしま
す。



#ここでお聞きする話ではないのでしょうが、アイコンモジュールのページの更
 新(メンテナンス)はどのように行うのでしょうか? 今後バージョンアップ
 していきたいのですが。。。追加して以前のを削除するしかありませんか?
 
 かなり昔には、スクリーンショットも置けるように対応する?、など書かれて
 いるようですが。。。(~_~)
 
    http://hidemaruo.dip.jp:81/hidesoft/hidesoft_8/x04761.html

[ ]
RE:08741 アイコン関連についてNo.08742
秀まるお さん 04/11/29 22:43
 
 すみません。僕も過去の話を忘れていたんですけど、たしかに、ツールバーの
下に余白が出来る件については、対応が難しいです。

 がしかし、今さら引き下がるのもなんなので、秀丸側のソースコードを見てそ
れなりに直しています。(今作業中)

> #ここでお聞きする話ではないのでしょうが、アイコンモジュールのページの更
>  新(メンテナンス)はどのように行うのでしょうか? 今後バージョンアップ
>  していきたいのですが。。。追加して以前のを削除するしかありませんか?

 追加して削除するしか無いです。削除するためには、登録した時に発行された
暗証を入力しないといけないですが、もし暗証をお忘れの場合は、古いデータの
削除はxxxxxxx@maruo.co.jpにメールを出すという手順になってしまいます。

[ ]
RE:08741 アイコン関連についてNo.08743
秀まるお さん 04/11/29 22:49
 
 もう1つコメント忘れました。

> タスクトレイの常
> 駐部分もマルチアイコンになっていますでしょうか?

 そこは意図して16x16のアイコンをロードしてるんですけど、今現在マルチア
イコンが使えてないなら、マルチアイコンを使えるように直す方法は今の段階で
分からないです。

 そもそも、普通の32x32のアイコンについても、LoadIconに直せばマルチアイ
コンOKになるかどうか分からないし…。

 たしか、普通にLoadIconしてしまうと、16x16のアイコンが無視されて32x32の
アイコンが16x16に縮小されて使われてしまったのだったと思います。それで
LoadIconじゃなくてLoadImageを使うように直した覚えがあります。秀丸の常駐
アイコンの方でも紆余曲折があったと思います。

 一応、何か調べてみますが、あまり期待しないでください。

[ ]
RE:08741 アイコン関連についてNo.08744
秀まるお さん 04/11/30 16:17
 
 アイコン関係でいろいろテストしてたら、1つ問題を見つけてしまいました。
ThunderTsurukameのアイコンモジュールをWindows95/98で使おうとすると、鶴亀
メールが死んでしまいます。ただ、死んでしまうメッセージが出つつも、それな
りに動作はするようです。

 どうも、ツールバーのビットマップがフルカラーだとダメなようです。同じ話
は以前にもありまして、そのときはアイコンモジュール作者さんの方で、ツール
バーのビットマップを256色に減色して解決したそうです。そのときは
Windows2000上での話でしたけど。

    http://www.maruo.co.jp/turukame/1/x11149_.html#11149

 秀丸担当にこの話をしたら、秀丸の方でも同じような問題が過去にあって、そ
の結果、フルカラーのビットマップを使ったアイコンモジュールはそもそも使え
ないようにしてしまったそうで、つまり、アイコンモジュールでのツールバーの
ビットマップは必ず256色に減色しないとダメにしてしまったってことのようで
す。

 ということでなんですが、とりあえず鶴亀メール側としては、ツールバーのビ
ットマップがフルカラーの場合は問題が起きるかもしれないみたいな警告を出す
ことにしてみます。

 あと、肝心の、32x32アイコンでのマルチアイコンその他についてはまだテス
トしてないです。ぼちぼちテストします。(いろんなWindowsでテストしないと
いけなくて大変でして…)

[ ]
RE:08744 アイコン関連についてNo.08745
秀まるお さん 04/11/30 16:52
 
 さらに調べてみたら、ツールバー用ビットマップの色数がどうこうって問題と
はまったく別でした。

 どうも、Thundertk.tkfをLoadLibraryする時に保護違反が起きているようです。
だぶん、DllMain関数の中で何かしてて死んでるような気がしますが…。

 はて?。何か身に覚え無いでしょうか。

[ ]
RE:08744 アイコン関連についてNo.08746
Gertrud さん 04/11/30 17:00
 
Gertrudです。


>ThunderTsurukameのアイコンモジュールをWindows95/98で使おうとすると、鶴亀
>メールが死んでしまいます。ただ、死んでしまうメッセージが出つつも、それな
>りに動作はするようです。

なにか、私作成のアイコンモジュールを、サイトー企画様のほうでテストして頂
いた結果になったみたいで。どう言っていいのやら。。。不具合報告、本当にあ
りがとうございます。(~_~;)


> どうも、ツールバーのビットマップがフルカラーだとダメなようです。同じ話
>は以前にもありまして、そのときはアイコンモジュール作者さんの方で、ツール
>バーのビットマップを256色に減色して解決したそうです。そのときは
>Windows2000上での話でしたけど。

当件はすでに知っていたのですが、特定の環境(ビデオドライバ?)で起こるの
だと捉えていました。


>フルカラーのビットマップを使ったアイコンモジュールはそもそも使え
>ないようにしてしまったそうで、つまり、アイコンモジュールでのツールバーの
>ビットマップは必ず256色に減色しないとダメにしてしまったってことのようで
>す。

私の ThunderTurukameはかなりカラフルに作ってあり、256減色は結構きついで
すね〜 とはいえ、未対応のまま放置するのもなんなので、フルカラーバージョ
ンと 256色バージョンの二つを合わせて配布しようかな?(ファイルアップロー
ドの制限 300KBにかからなければいいですが。。。) 頑張ってみます。

他のメジャーな、テーマが切り替えられるソフト(Firefoxなど)はどのような
処理をしているのですかね。少し調査してみます。


> あと、肝心の、32x32アイコンでのマルチアイコンその他についてはまだテス
>トしてないです。ぼちぼちテストします。(いろんなWindowsでテストしないと
>いけなくて大変でして…)

私の些細な要望に対応する結果、大変な作業をさせてしまうようで申し訳ありま
せん。私の方も多OS環境にしないといけないのかもしれません。。。

[ ]
RE:08745 アイコン関連についてNo.08747
Gertrud さん 04/11/30 17:10
 
Gertrudです。


> どうも、Thundertk.tkfをLoadLibraryする時に保護違反が起きているようです。
>だぶん、DllMain関数の中で何かしてて死んでるような気がしますが…。
>
> はて?。何か身に覚え無いでしょうか。

急いで調査してみましたが、「return TRUE;」のみしか DLLMain関数では記述さ
れていないです。デフォルトですよね?

一つ気になる点とすれば、Borlandの C++Builder 6にてコンパイルしていること
です。何か VC++のソースを改変して悪さをしているのかもしれません。私の環
境に VC++ 6があればいいのですがないもので。。。C++の経験もあまりないに等
しいので、さてどうしたものでしょうか?

[ ]
RE:08743 アイコン関連についてNo.08748
秀まるお さん 04/11/30 17:22
 
 マルチアイコンの話ですけど、いろいろ調べて、現状の鶴亀メールの動作で間
違ってないらしいことが分かりました。

 まずですけど、アイコンの中に、16色と256色の2パターンが入っていたとし
ます。すると、

 画面色数が256色以下の時:   16色アイコンが使われる。
 画面色数が32768色以上の時: 256色アイコンが使われる。

 という動作になります。ThunderTurukameのアイコンモジュールをResource
Hackerを使うなどして勝手ながら拝見させていただきました所、それには、フル
カラーのアイコンと256色のアイコンがあるようです。そうすると、

 画面色数が256色以下の時:   256色アイコンが使われる。
 画面色数が32768色以上の時: フルカラーアイコンが使われる。

 という動作になっているようです。

 で、画面の色数が256色の時に、256色を使ったアイコンは、うまく表示できま
せん。というのは、画面の色数が256色の場合というのは、実は特別な状態でし
て、256色のうち、固定で使える色は20色だけしか無く、そのほかの色は、いわ
ゆるカラーパレットの設定というのをアプリケーションソフトがやってやらない
と使えません。鶴亀メールはそういうカラーパレットの設定をまったくやってま
せん。

 アイコンが複数あると、それぞれにカラーパレットが存在することになりまし
て、つまり、複数の256色アイコンを同時に256色画面上に表示することは事実上
不可能となります。

 という、大変長い話になってしまう訳ですが、とにかく、アイコンモジュール
としては、256色アイコンとフルカラーアイコンを用意しても意味がなくて、し
いて用意するなら16色アイコンとフルカラーアイコンという組み合わせでないと
ダメです。

 という結論で、たぶん合ってると思います。

[ ]
RE:08747 アイコン関連についてNo.08749
秀まるお さん 04/11/30 17:29
 
 C++Builderが手元に無いのでなんですが…。

 とりあえず、そちらで簡単なアプリケーションソフトを作って、

 LoadLibrary( "....." );

 みたいな1行だけのプログラムを作ってアイコンモジュールをロードしていた
だきますと、現象が再現できるんじゃないかと思います。WindowsXP上でもエ
ラーになると思います。


 鶴亀メール+Windows2000/XP上でなぜ死なないかというと、Windows2000/XPの
場合はLoadLibraryExにてLOAD_LIBRARY_AS_DATAFILEというフラグ指定してるか
らでして…。Windows95/98の場合だとなぜかこれがうまく使えなくて、普通に
LoadLibraryすることになってしまいます。

 他に何かいい解決策があるといいんですけど。何か、C++ Builderに付属して
いるDLLのサンプルプログラムか何かで死なない物があれば、それをベースにリ
ソースだけ置き換えるという手も使えると思います。

[ ]
RE:08749 アイコン関連についてNo.08750
秀まるお さん 04/11/30 17:42
 
 すみません。間違えました。Windows2000/XPだと、保護違反のエラーは出ませ
んが、LoadLibraryの返り値がNULLになるようです。

[ ]
RE:08748 アイコン関連についてNo.08751
Gertrud さん 04/11/30 17:50
 
Gertrudです。


> という、大変長い話になってしまう訳ですが、とにかく、アイコンモジュール
>としては、256色アイコンとフルカラーアイコンを用意しても意味がなくて、し
>いて用意するなら16色アイコンとフルカラーアイコンという組み合わせでないと
>ダメです。

了解いたしました。さまざまな調査、大変ありがとうございました。16色のアイ
コンに落とすのも大変ですので、ツールバーの件と合わせて考えるに、いよいよ
WindowsXP(?)のフルカラー専用アイコンモジュールにするしかなさそうです。
残念ですが。。。

近日中にも、サイトー企画様のライブラリサイトにて、その旨をもっとしっかり
書いた私のページにアップロードし直したいと思います。


本当にいろいろと騒がせてしまったようで申し訳ありませんでした。

[ ]
RE:08751 アイコン関連についてNo.08752
秀まるお さん 04/11/30 18:04
 
 無料ソフトのためにわざわざお金を払ってテスト環境を作るってのはやってら
れないでしょうし、WindowsXP以上のみ対応って言ってしまのがいいでしょうね。

 ちなみに、WindowsXPではそもそも256色って画面設定が使えないので、フルカ
ラー前提で問題ないと思います。

[ ]
RE:08750 アイコン関連についてNo.08757
Gertrud さん 04/12/01 17:56
 
Gertrudです。

あんまりこのスレッドを長くしてしまうのも、あれなのですが、最後にレスつけ
ておきます。


まず、秀まるお様のご指摘された LoadLibraryの件ですが、私の環境では再現し
ませんでした。私のアイコンモジュール、他の方のアイコンモジュールとも ハ
ンドルが取得できました。とはいえ秀まるお様の環境で起きるとのことなので、
私の勉強が足りないのだと考え、しばらく様子を見ることにします。


また、このスレッドを拝見されたユーザー様から、他の方の作品とリンクしてい
る DLLに差異があるからではと、ご指摘を受けました。私の C++Builderの環境
のことで変に悩むのも嫌だったので、Microsoftが無償で提供しているコンパイ
ラ「Microsoft Visual C++ Toolkit」と SDKに切り替えて、これまた様子を見る
ことにします。DLLの差異だけはなくなりました。


マルチアイコンの件、ツールバーの件と、いろいろ秀まるお様をかきたてテスト
を行っていただいてしまったようで、申し訳ありませんでした。ツールバーは
256色減色したいと思います。

[ ]
RE:08757 アイコン関連についてNo.08758
秀まるお さん 04/12/01 18:16
 
> マルチアイコンの件、ツールバーの件と、いろいろ秀まるお様をかきたてテスト
> を行っていただいてしまったようで、申し訳ありませんでした。ツールバーは
> 256色減色したいと思います。

 実はまだ他にもいろいろテストしたんですけど、Obiさん作のObiconアイコン
もフルカラーみたいでして、うちのWindows98環境(フルカラー環境でも)でう
まく表示できないです。なぜうまく表示できないのか調べつつも、原因特定に至
ってません。

 256色に減色するのが面倒そうでしたら、とりあえず減色しなくてもいいんじ
ゃないかとは思います。Obiconさんのアイコンでトラブル報告も無いみたいだし
…。

 っと言いつつスレッドが伸びるのもなんなので、後はおまかせします。

[ ]
RE:08739 アイコン関連についてNo.08767
Gertrud さん 04/12/06 10:35
 
Gertrudです。

遅ればせながら、現在最新のβバージョン(ver4.00 β13)にて、

    ・アドレス帳のアイコン
    ・ツールバーの下の余白
   
について、修正されているのを確認いたしました。


細かい要望に対応してくださり恐縮です。ありがとうございました。

[ ]
RE:08740 アイコン関連についてNo.09057
Obi さん 05/03/02 09:47
 
> リソースIDですけど、以下のようになります。
>
>#define IDICON_90_WAIT1                 190
>#define IDICON_91_WAIT2                 191
>
>#define IDICON_93_FINDDLG               193
>#define IDICON_94_FILTERACTION_ETC      194
>#define IDICON_95_FILTERACTION_THROUGH  195
>#define IDICON_96_SIGNATURE             196
>#define IDICON_97_TEMPLATE              197
>#define IDICON_98_HANGUPCHECKER         198
>#define IDICON_99_REMOTEMAIL            199

これらのリソースを含んだ形の「TKIcon.tkm」をリリースして頂くことは可能でしょ
うか?
当方、DLL生成の知識が無いためアイコンモジュール作成の際にリソースを置き換え
るツールを使用しております。
元になるリソースIDが存在しないと置き換えが出来ないため、これらをサンプルのモ
ジュールに含めて頂けると
有り難いのですが。

自分の技術力不足を棚に上げての要望でお恥ずかしいのですが、対応頂けたら有り難
いです。
ご検討願います。

[ ]
RE:09057 アイコン関連についてNo.09058
秀まるお さん 05/03/02 13:07
 
 以下のホームページにアップロードしておきました。途中の改行を取ってアク
セスしてください。

http://pub.idisk-just.com/fview/U6pze7riTvBLU6wrAsDQOeP3xyG2c7k4aXI3tc6INIuJ
eCilQqFzNi5I8oE5frZl?

 tkicon20050302.lzh

 の中に入っています。

 IDICON_99_REMOTEMAIL のアイコンは、単に「R」としか書いてないアイコンで
す。(自分ではデザインを用意してないので)

[ ]
RE:09058 アイコン関連についてNo.09059
Obi さん 05/03/02 13:24
 
早急な対応ありがとうございます。
助かります。

[ ]