マルチモニタ環境でのstatusboxの表示位置
テキストが更新されたら、そのテキストの長さに合わせて CStatDlg::Relocation の中でウィンドウサイズの再計算と MoveWindow をしてますね。
新規じゃなくて更新の場合は MoveWindow しないほうが使い勝手がよいですか?
よく見たら -100 以下のときにSetWindowPos()のところですね。
「マルチディスプレイの場合には、最も左から100以上はみ出している」の条件をとらなきゃいけないですね。
初期値が -1000 のため、ほかの box コマンドでも負の座標を持つディスプレイがあると表示位置がずれる問題があった。
あまりよくはないが -10000 に変更
マルチモニタ環境で以下のマクロを実行している時、
表示している statusbox をサブモニタへマウスで移動すると、 表示が更新された時にメインモニタの中央に statusbox が移動する。 もしかすると座標が負の値になった時のみかも。(未確認)