|
> プログラマー向けの話をさせていただくと、秀丸内部で行数MAXを検出した場合、
> その場で即座にエラーメッセージを表示することが出来ないため、とりあえず自分に
> WM_ERROR_LINES_MAXメッセージをPostします。そのWM_ERROR_LINES_MAXメッセージを
> 受信したら、エラーメッセージを表示する作りになっています。
なるほど。
> に変更しただけです。でもって、結局の所、誰がWM_USER+13をPostしていたのかは
> 分からずじまいです。
WM_USER+13 ってことで少し調べてみました。
Spy++で秀丸や鶴亀メール(エディタ)のプロセス・スレッドの
メッセージを監視するようにして、Alt+TABで切り替えると、
アクティブになる時・非アクティブになる時に、WM_USER+13が
届いています。
#「非アクティブになる時」は、いつもではないようです。
#他に、WM_USER+4,5,14なんかも届いています。
「プロセス・スレッドのメッセージ」なので、秀丸や鶴亀メール
自体のウィンドウ宛てとは限りません。
なので、「どのウィンドウへか?」を調べようとしたら、
どうも一時的に作成されているウィンドウのようで、
Spy++をアクティブにした時には消えていて、調べられません
でした。
#非アクティブになるタイミングでDestroyしているようです。
怪しいのが、IMEです。私のところはMS-IME2000なのですが、
IMEのツールバーを表示しないようにしたら、WM_USER+13は
届かなくなりました。
というわけで、IMEがポストしていると仮定して。
正常な状態であれば、IMEが自分で作成したウィンドウへ
WM_USER+13を投げても問題はないはずですが、それが何かの
原因で秀丸・鶴亀メールのウィンドウへ投げられてしまうと、
「行数MAX」になってしまうでしょう。
#つまり「MS-IME2000が悪い」説。
が、
> (WM_USR + 13) --> (WM_USER + 57)
にしたのなら、WM_USER+13がポストされても何もしないだけで、
ぜんぜん問題ないはずですよね……?
|
|