|
カラム拡張DLLを作成されたというのはすごいですね。
フォルダサイズ表示があると、確かにそれと一緒に遅延されてしまいました。
一応処理自体は別スレッドなのですが、遅いカラムなどもまとめて一緒になっています。
フォルダサイズだけで個別にすることは不可能ではないと思いますが、だいぶん作り替える必要があって、安定性を考えると簡単ではないかもしれません。
以下はちょっと公式にサポートしているとは言い難い内容です。
内部的に遅い扱いにして遅延させているものと、速い扱いにしてすぐ表示させるものに分けていて、拡張DLLは全部遅い扱いになっています。
例外的に、特定のカラム用FMTID(GUID)は速い扱いにしているものがあって、裏技的ですが、それを使うと現状で早い扱いの拡張DLLにすることもできてしまいます。
DLLを作成されているとしたら、GetColumnInfoとGetItemDataでscid.fmtidを指定/判別していると思いますが、これを以下の値にすると速い扱いのほうにできたりします。
文字列の書き方:
{8256FC70-8C5A-4ed8-98CA-98F2266C6DA2}
C++ソース上の書き方:
GUID xxx = { 0x8256fc70, 0x8c5a, 0x4ed8, { 0x98, 0xca, 0x98, 0xf2, 0x26, 0x6c, 0x6d, 0xa2} };
これは秀丸ファイラー専用の独自カラムの「拡張子」でも使っている値で、本当は被ったらいけないですが、DLLはCLSIDのほうで先に判別しているので、実際は動作してしまいます。
独自カラムの「拡張子」のscid.fmtidは上記で、scid.pidは0を使っています。
|
|