Ticket #31049

マルチモニタ環境でのstatusboxの表示位置

Eröffnet am: 2013-03-27 18:22 Letztes Update: 2013-03-27 22:43

Auswertung:
Verantwortlicher:
(del#1144)
Typ:
Status:
Geschlossen
Komponente:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

マルチモニタ環境で以下のマクロを実行している時、

do
	gettime time "%Y/%m/%d %H:%M:%S"
	statusbox time "Time"
	pause 1
loop
表示している statusbox をサブモニタへマウスで移動すると、 表示が更新された時にメインモニタの中央に statusbox が移動する。 もしかすると座標が負の値になった時のみかも。(未確認)

Ticket-Verlauf (3/5 Historien)

2013-03-27 18:22 Aktualisiert von: doda
  • New Ticket "マルチモニタ環境でのstatusboxの表示位置" created
2013-03-27 20:25 Aktualisiert von: (del#1144)
Kommentar

テキストが更新されたら、そのテキストの長さに合わせて CStatDlg::Relocation の中でウィンドウサイズの再計算と MoveWindow をしてますね。

新規じゃなくて更新の場合は MoveWindow しないほうが使い勝手がよいですか?

2013-03-27 20:59 Aktualisiert von: (del#1144)
Kommentar

よく見たら -100 以下のときにSetWindowPos()のところですね。

「マルチディスプレイの場合には、最も左から100以上はみ出している」の条件をとらなきゃいけないですね。

2013-03-27 22:06 Aktualisiert von: (del#1144)
2013-03-27 22:43 Aktualisiert von: (del#1144)
  • Lösung Update from Keine to Gefixt
  • Status Update from Offen to Geschlossen
  • Ticket Close date is changed to 2013-03-27 22:43
Kommentar

初期値が -1000 のため、ほかの box コマンドでも負の座標を持つディスプレイがあると表示位置がずれる問題があった。

あまりよくはないが -10000 に変更

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden