日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC SDI 中 通过注册表保存当前窗体的 显示状态位置

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC SDI 中 通过注册表保存当前窗体的 显示状态位置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???

在 框架類響應 WM_CLOSE消息的時候添加如下代碼

?


?HKEY? key;????????//用于接收注冊表項句柄
?WINDOWPLACEMENT? info;? //獲得窗體位置狀態信息
?GetWindowPlacement(&info);? //CWnd類的函數獲取一個窗體的狀態信息
?if(ERROR_SUCCESS==????????????????????????? //調用??RegOpenKeyEx 打開注冊表 返回key? 如果成功 返回? ERROR_SUCCESS?
??RegOpenKeyEx(
??HKEY_CURRENT_USER,?????????//要打開的項的句柄? 具體看MSDN
??"Software\\WolfeLee\\SaveWinState\\Settings", //子項
??0,?? //保留0?

KEY_ALL_ACCESS,? //所有權限

&key))?? //返回子項句柄
?{??

??DWORD des;???? //用于接收返回信息 這里不用
??????? if(ERROR_SUCCESS==::RegCreateKeyEx (??? //如果注冊表創建成功 那么返回ERROR_SUCCESS
??HKEY_CURRENT_USER,??
??"Software\\WolfeLee\\SaveWinState\\Settings",????
??????? 0,
??"State",?? //類型
??REG_OPTION_NON_VOLATILE,??//在windows重啟的時候?我們創建的注冊表 依然保存
??KEY_ALL_ACCESS,?? //所有權限
??NULL,?? //默認安全結構
??&key,? //用于接收HKEY
??&des))
??{?// 將窗口信息保存到注冊表中
???? ?RegSetValueEx(key, "WindowState", 0, REG_BINARY, (LPBYTE)&info, sizeof(WINDOWPLACEMENT));? //用二進制的形式保存窗體信息
??????RegCloseKey(key);??// 關閉注冊表?
??}

?}

?

以上完成了 狀態的餓保存? 我們如何在啟動的時候加載注冊表信息? 在?? APP的? 初始化函數中 要在? m_pMainWnd->ShowWindow(SW_SHOW)? 之前獲取窗體信息

添加下面代碼

?

?

?

?

?///讀取注冊表

??? HKEY key;
?DWORD type,n;
?WINDOWPLACEMENT info;
??? if(ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,???? //打開先前創建注冊表? 如果沒有鍵值那么我們調用原來的設置
?????????? "Software\\WolfeLee\\SaveWinState\\Settings",
???? 0,
???? KEY_ALL_ACCESS,
???? &key))
?{
???????? RegQueryValueEx(key,?? //注冊表的句柄
??? "WindowState",?? //我們保存的鍵值的名字
??? 0,
??? &type,? //獲取類型
??? (LPBYTE)&info,? //獲取 狀態信息
??? &n);

???????? this->m_pMainWnd->SetWindowPlacement(&info);? //設置?窗體位置信息
?}
?else
?m_pMainWnd->ShowWindow(SW_SHOW);
?m_pMainWnd->UpdateWindow();

?

以上完成了對 窗體狀態的保存

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/yuedongwei/archive/2011/08/04/4145646.html

總結

以上是生活随笔為你收集整理的MFC SDI 中 通过注册表保存当前窗体的 显示状态位置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。