サイト内検索:

位置の保存・復元(VC)

2010年01月23日更新
お気に入りに登録
VBVCJava開発室 > プログラミング > ウィンドウ処理 > 位置の保存・復元(VC)
ウィンドウ処理
  1. doc位置の保存・復元(VB)
  2. doc位置の保存・復元(VC)
  3. docタスクトレイに格納(VB)
  4. docタスクトレイに格納(VC)
  5. doc半透明ウインドウ(VB)
  6. doc半透明ウインドウ(VC)
  7. doc最前面に表示
メインメニュー
  1. docプログラミング
  2. docサーバ構築
  3. docお薦めの技術書籍/参考書
  4. docパソコンショップ
  5. docサーバーショップ
  6. doc周辺機器
  7. docモニター
  8. doc外部媒体
  9. doc自作パソコン用パーツ
  10. doc契約
  11. doc就職・転職・バイト情報

◆説明◆

ウインドウの位置の保存・復元をするサンプルです。詳細は、サンプルソースをダウンロードし、確認して下さい。


◆VC++の場合◆

// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
// 1. INIファイルから表示状態・位置を取得、設定
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
void LoadWindowPos(HWND hWnd)
{
// INIファイル名取得
char lpIniFilePath[_MAX_PATH];
GetIniFilePath(lpIniFilePath);

// ★★★ ウインドウ表示状態と位置を取得
WINDOWPLACEMENT wp;
GetWindowPlacement(hWnd, &wp);

// ウインドウ位置をINIファイルから取得
char lpDef[33];
char lpRes[33];
// 左上隅のx座標値
ltoa(wp.rcNormalPosition.left , lpDef, 10);
GetPrivateProfileString("WinPos", "left" , lpDef,
lpRes, 33, lpIniFilePath);
wp.rcNormalPosition.left = atol(lpRes);
// 右下隅のx座標値
ltoa(wp.rcNormalPosition.right , lpDef, 10);
GetPrivateProfileString("WinPos", "right" , lpDef,
lpRes, 33, lpIniFilePath);
wp.rcNormalPosition.right = atol(lpRes);
// 左上隅のy座標値
ltoa(wp.rcNormalPosition.top , lpDef, 10);
GetPrivateProfileString("WinPos", "top" , lpDef,
lpRes, 33, lpIniFilePath);
wp.rcNormalPosition.top = atol(lpRes);
// 右下隅のy座標値
ltoa(wp.rcNormalPosition.bottom , lpDef, 10);
GetPrivateProfileString("WinPos", "bottom" , lpDef,
lpRes, 33, lpIniFilePath);
wp.rcNormalPosition.bottom = atol(lpRes);
// ウインドウの表示状態
ltoa(wp.showCmd , lpDef, 10);
GetPrivateProfileString("WinPos", "showCmd", lpDef,
lpRes, 33, lpIniFilePath);
wp.showCmd = atol(lpRes);

// まず最小化で表示
ShowWindow(hWnd, SW_MINIMIZE);
// ★★★ ウインドウ表示状態と位置を設定
SetWindowPlacement(hWnd, &wp);
}

// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
// 2. 表示状態・位置を取得、INIファイルに保存
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
void SaveWindowPos(HWND hWnd)
{
// INIファイル名取得
char lpIniFilePath[_MAX_PATH];
GetIniFilePath(lpIniFilePath);

// ★★★ 現在のウインドウ表示状態と位置を取得
WINDOWPLACEMENT wp;
GetWindowPlacement(hWnd, &wp);

// ウインドウ位置をINIファイルに保存
char lpSet[33];
// 左上隅のx座標値
ltoa(wp.rcNormalPosition.left , lpSet, 10);
WritePrivateProfileString("WinPos", "left" ,
lpSet, lpIniFilePath);
// 右下隅のx座標値
ltoa(wp.rcNormalPosition.right , lpSet, 10);
WritePrivateProfileString("WinPos", "right" ,
lpSet, lpIniFilePath);
// 左上隅のy座標値
ltoa(wp.rcNormalPosition.top , lpSet, 10);
WritePrivateProfileString("WinPos", "top" ,
lpSet, lpIniFilePath);
// 右下隅のy座標値
ltoa(wp.rcNormalPosition.bottom , lpSet, 10);
WritePrivateProfileString("WinPos", "bottom" ,
lpSet, lpIniFilePath);
// ウインドウの表示状態
ltoa(wp.showCmd , lpSet, 10);
WritePrivateProfileString("WinPos", "showCmd",
lpSet, lpIniFilePath);
}


◆VBの場合◆


    お気に入りに登録