ウィンドウの配置状態の保存のサンプル
更新 : 2007 年 11 月
このサンプルでは、Window のサイズ、場所、および状態を保存することで、Window が前回閉じられたときと同じ位置で開くようにする方法を示します。また、このサンプルはマルチモニタに対応しています。
このサンプルでは、Windows Presentation Foundation の特定の機能を示します。そのため、アプリケーション開発のベスト プラクティスに従っていません。Windows Presentation Foundation (WPF) と Microsoft .NET Framework のアプリケーション開発ベスト プラクティスの包括的な説明については、適宜、次のトピックを参照してください。
ユーザー補助 - 「ユーザー補助のベスト プラクティス」
ローカリゼーション - 「WPF のグローバリゼーションおよびローカリゼーションの概要」
パフォーマンス - 「WPF アプリケーションのパフォーマンスの最適化」
セキュリティ - 「Windows Presentation Foundation のセキュリティ」
サンプルのビルド
Windows ソフトウェア開発キット (SDK) をインストールして、そのビルド環境のコマンド ウィンドウを開きます。[スタート] メニューの [すべてのプログラム]、[Microsoft Windows SDK] の順にポイントし、[CMD シェル] をクリックします。
サンプルをハード ディスク ドライブにダウンロードします。通常は、ソフトウェア開発キット (SDK) のドキュメントからダウンロードします。
ビルド環境のコマンド ウィンドウからサンプルをビルドするには、サンプルのソース ディレクトリに移動します。コマンド プロンプトで「MSBUILD」と入力します。
Microsoft Visual Studio でサンプルをビルドするには、サンプル ソリューションかプロジェクト ファイルを読み込んで、Ctrl キーと Shift キーを押しながら B キーを押します。
サンプルの実行
コンパイルしたサンプルをビルド環境のコマンド ウィンドウから実行するには、サンプルのソース コード フォルダの下にある Bin\Debug または Bin\Release フォルダで .exe ファイルを実行します。
コンパイルしたサンプルを Visual Studio でデバッグしながら実行するには、F5 キーを押します。
解説
このサンプルでは、Window のサイズ、場所、および状態を保存することで、Window が前回閉じられたときと同じ位置で開くようにする方法を示します。また、このサンプルはマルチモニタに対応しています。つまり、Window が閉じられたモニタの接続が切断されると、代わりに、接続されているモニタに Window が表示されます。
ここでは、(User32.dll の) 次の Win32 API を使用する必要があります。
WINDOWPLACEMENT: ウィンドウのサイズ、位置、および状態を格納します (「WINDOWPLACEMENT 構造体」を参照)。
GetWindowPlacement: ウィンドウを閉じる前にそのウィンドウの現在の WINDOWPLACEMENT データを取得します (「GetWindowPlacement Function」を参照)。
SetWindowPlacement: ウィンドウを開くときに WINDOWPLACEMENT データを復元します (「SetWindowPlacement Function」を参照)。
WINDOWPLACEMENT 構造体は、厳密に型指定されたアプリケーション設定の Microsoft .NET Framework サポートを使用して、物理的にディスクに格納されます (「アプリケーション設定の概要」を参照)。