资源简介
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个文件信息
评论
共有 条评论