G_SCREEN_W、G_SCREEN_Hのマルチモニタ環境での注意点 #uwsc

つい最近気付いたんだけど、マルチモニタ環境だとG_SCREEN_WとG_SCREEN_Hが想定と違った結果に
実行中のモニタのサイズが返ってくるもんだと思ってたんだけどどうも全体を合わせたサイズが返る
いつからこうなってたのかな?もともとそうだったのかな?まぁそれはいいや
実行中のモニタのサイズを得たいのでヘルプ眺めてたら…
monitor関数があったとさ!

print窓を中央表示させるサンプル

今まで (マルチモニタを想定していない)

const W = 600
const H = 400

print
id = getid(GET_LOGPRINT_WIN)
x = G_SCREEN_W / 2 - W / 2
y = G_SCREEN_H / 2 - H / 2
acw(id, x, y, W, H)

これから (マルチモニタ環境でもOK)

mon = status(id, ST_MONITOR)
x = monitor(mon, MON_WIDTH)  / 2 - W / 2
y = monitor(mon, MON_HEIGHT) / 2 - H / 2

やったねたえちゃん!一手間増えるよ!

このprint窓中央表示のトリックは結構使ってるので見つけ次第書きなおさないとね

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中