資源簡介
VC實現的通過寫和讀取注冊表完成開啟窗口大小為上次關閉時的大小和位置

代碼片段和文件信息
//?MainFrm.cpp?:?implementation?of?the?CMainframe?class
//
#include?“stdafx.h“
#include?“RestoreWinPos.h“
#include?“MainFrm.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CMainframe
IMPLEMENT_DYNCREATE(CMainframe?CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe?CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
ON_WM_CREATE()
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static?UINT?indicators[]?=
{
ID_SEPARATOR???????????//?status?line?indicator
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?construction/destruction
CMainframe::CMainframe()
{
//?TODO:?add?member?initialization?code?here
}
CMainframe::~CMainframe()
{
}
int?CMainframe::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CframeWnd::OnCreate(lpCreateStruct)?==?-1)
return?-1;
if?(!m_wndToolBar.CreateEx(this?TBstyle_FLAT?WS_CHILD?|?WS_VISIBLE?|?CBRS_TOP
|?CBRS_GRIPPER?|?CBRS_TOOLTIPS?|?CBRS_FLYBY?|?CBRS_SIZE_DYNAMIC)?||
!m_wndToolBar.LoadToolBar(IDR_MAINframe))
{
TRACE0(“Failed?to?create?toolbar\n“);
return?-1;??????//?fail?to?create
}
if?(!m_wndStatusBar.Create(this)?||
!m_wndStatusBar.SetIndicators(indicators
??sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Failed?to?create?status?bar\n“);
return?-1;??????//?fail?to?create
}
//?TODO:?Delete?these?three?lines?if?you?don‘t?want?the?toolbar?to
//??be?dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return?0;
}
BOOL?CMainframe::PreCreateWindow(CREATESTRUCT&?cs)
{
if(?!CframeWnd::PreCreateWindow(cs)?)
return?FALSE;
//?TODO:?Modify?the?Window?class?or?styles?here?by?modifying
//??the?CREATESTRUCT?cs
CWinApp*?pApp?=?AfxGetApp();
????int?s?t?b?r?l;
//假如從注冊表中讀出的數據不為空
????if?(?-1?!=?(s?=?pApp->GetProfileInt(“Restoreframe“?“Status“-1))?&&
-1?!=?(t?=?pApp->GetProfileInt(“Restoreframe“?“Top“-1))?&&
-1?!=?(l?=?pApp->GetProfileInt(“Restoreframe“?“Left“-1))?&&
-1?!=?(b?=?pApp->GetProfileInt(“Restoreframe“?“Bottom“-1))?&&
-1?!=?(r?=?pApp->GetProfileInt(“Restoreframe“?“Right“-1))
)?
{
//恢復窗口狀態
????????pApp->m_nCmdShow?=?s;
//恢復窗口寬度和高度
????????cs.cx?=?r?-?l;
????????cs.cy?=?b?-?t;
}
return?TRUE;
}
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?diagnostics
#ifdef?_DEBUG
void?CMainframe::AssertValid()?const
{
CframeWnd::AssertValid();
}
void?CMainframe::Dump(CDumpContext&?dc)?const
{
CframeWnd::Dump(dc);
}
#endif?//_DEBUG
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?message?handlers
void?CMainframe::OnClose()?
{
//?TODO:?Add?your?message?handler?code?here
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-04-01?16:23??實例255——使窗口開啟時保持上次關閉時的大小\
?????目錄???????????0??2015-11-29?21:23??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\
?????目錄???????????0??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\
?????文件???????23447??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\MainFrm.obj
?????文件??????118961??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.exe
?????文件??????306520??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.ilk
?????文件???????24211??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.obj
?????文件?????5499588??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.pch
?????文件??????336896??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.pdb
?????文件????????7408??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPos.res
?????文件???????16008??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPosDoc.obj
?????文件???????22427??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\RestoreWinPosView.obj
?????文件??????106534??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\StdAfx.obj
?????文件??????205824??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\vc60.idb
?????文件??????364544??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Debug\vc60.pdb
?????文件????????3588??2008-05-06?16:54??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\MainFrm.cpp
?????文件????????1466??2008-05-06?16:53??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\MainFrm.h
?????文件????????4479??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\ReadMe.txt
?????目錄???????????0??2013-05-27?12:11??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\res\
?????文件?????????501??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\Resource.h
?????文件????????4373??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.cpp
?????文件????????4702??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.dsp
?????文件?????????549??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.dsw
?????文件????????1433??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.h
?????文件???????50176??2015-11-29?21:23??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.ncb
?????文件???????48640??2015-11-29?21:23??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.opt
?????文件????????2690??2015-11-29?21:03??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.plg
?????文件???????10651??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPos.rc
?????文件????????1882??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPosDoc.cpp
?????文件????????1552??2008-05-06?16:50??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPosDoc.h
?????文件????????2867??2008-05-06?16:56??實例255——使窗口開啟時保持上次關閉時的大小\RestoreWinPos\RestoreWinPosView.cpp
............此處省略7個文件信息
評論
共有 條評論