OSに依存せず、ウィンドウを適切なサイズで表示するには?

解決


Azu  2009-08-02 19:50:29  No: 70748

質問させて頂きます。

XPのテーマのON/OFF、VistaのエアロON/OFFでは
タイトルバー等の大きさが変わり、表示するウィンドウのサイズが異なってしまいます
例えば、100x100が正しく表示されるサイズだとしても
Vistaで動かすと、100x100ではタイトルバーが大きく、画面が少し小さくなっています

GetSystemMetricsでタイトルバー等の大きさを取得して
それを踏まえてサイズを計算しても、どうも理想とするサイズになってくれません

このような場合、綺麗な解決方法は無いでしょうか?
OSはXPでテーマON/OFF、VistaでエアロON/OFFを想定しています

どうぞよろしくお願いします


wclrp ( 'o')  2009-08-02 20:00:26  No: 70749

AdjustWindowRectで必要なサイズを調べる。
ただツールバーとか、メニューが2行になるとか、
MFCみたいに複数のウィンドウで構成されるとかは簡単には計算できない。

ウィンドウができてから
クライアントエリアの大きさを調べ
必要なサイズとの差でウィンドウのサイズを変更する。

横幅を変えるとメニューが1行になるか2行になるか微妙なときは
2回調節すれは合うはず。


Azu  2009-08-04 00:46:17  No: 70750

wclrp ( 'o')さん、レス有り難うございます
ご指摘通りの方法を試してみます


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加