最終更新 2003 12/19
サンプルのダウンロード → Exp_CenteringWindow.lzh(38k)
全ソースコード
SetWindowPos 関数
対応しているバージョン
95, 98, Me, NT3.1以降, CE1.0以降, 2000, XP
使用するヘッダとライブラリ
winuser.h
user32.lib
|
ウィンドウ作って表示するときにデスクトップの中央に表示したいときは
専用のAPI関数がないので、デスクトップのサイズとウィンドウのサイズから
表示位置を自分で計算する必要があります。
デスクトップのサイズの取得方法は
タスクバーを除いたデスクトップのサイズを調べる で説明しているので
別途そちらをご覧下さい。
ウィンドウのサイズを調べるには GetWindowRect() 関数を使います。
RECT 構造体に格納されるのは、ウィンドウの左位置、上位置、右位置、下位置
ですから、ウィンドウの横幅や高さを調べたいときは、得られた値を引き算します。
横幅 = 左位置 - 右位置
高さ = 下位置 - 上位置
そんな感じでデスクトップとウィンドウのサイズを調べたら
中央位置X = ( デスクトップ横幅 - ウィンドウ横幅 ) / 2;
中央位置Y = ( デスクトップ高さ - ウィンドウ高さ ) / 2;
と計算すれば、真中の位置が得られます。
|