VisualC++MFC
所属分类:C#编程
开发工具:Visual C++
文件大小:2572KB
下载次数:9
上传日期:2008-12-11 20:07:27
上 传 者:
4101
说明: Visual C++ MFC编程实例
Visual C++ MFC编程实例
(Visual C++ MFC programming examples Visual C++ MFC programming examples)
文件列表:
Visual C++ MFC编程实例\EXAMPLES\SAMPWZD.INI (3592, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SW.EXE (229376, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\CHILDFRM.CPP (1493, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\CHILDFRM.H (1403, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\MAINFRM.CPP (2555, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\MAINFRM.H (1550, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\RESOURCE.H (488, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\STDAFX.CPP (201, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\STDAFX.H (987, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZD.CPP (4315, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZD.DSP (4582, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZD.DSW (529, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZD.H (1333, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZD.RC (12533, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZDDOC.CPP (1682, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZDDOC.H (1450, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZDVIEW.CPP (2491, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\WZDVIEW.H (1849, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\RES\TOOLBAR.BMP (1078, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\RES\WZD.ICO (1078, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\RES\WZD.RC2 (395, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\WZD\RES\WZDDOC.ICO (1078, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\DIRDLG.CPP (2892, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\DIRDLG.H (1400, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE1.CPP (1773, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE1.H (1273, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE2.CPP (1954, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE2.H (1273, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE3.CPP (1959, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE3.H (1273, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE4.CPP (3428, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE4.H (1460, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE5.CPP (5084, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\PAGE5.H (1362, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\RESOURCE.H (1595, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\SAMPWZD.CPP (1726, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\SAMPWZD.DSP (5245, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\SAMPWZD.DSW (539, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\SAMPWZD.H (1342, 1998-11-07)
Visual C++ MFC编程实例\EXAMPLES\SWD\SAMPWZD.INI (3592, 1998-11-07)
... ...
/////////////////////////////////////////////////////////////////////
// Example file.
/////////////////////////////////////////////////////////////////////
WzdPrjct.h -- an include file that defines a project's registry keys
/////////////////////////////////////////////////////////////////////
// Modify the Application Class.
/////////////////////////////////////////////////////////////////////
// 1) locate the SetRegistryKey() function and change argument to company key
// (failure to do this will cause your application's options to be saved to
// a .ini file in your system's os directory)
SetRegistryKey(COMPANY_KEY);
/////////////////////////////////////////////////////////////////////
// Modify the Mainframe Class.
/////////////////////////////////////////////////////////////////////
// 1) at start of OnCreate(), call a LoadOptions() helper function
LoadOptions1();
// 2) in OnClose(), call a SaveOptions() helper function
void CMainFrame::OnClose()
{
SaveOptions1();
CMDIFrameWnd::OnClose();
}
/////////////////////////////////////////////////////////////////////
// if GetProfileBinary()/WriteProfileBinary() are supported in your version of MFC
/////////////////////////////////////////////////////////////////////
void CMainFrame::LoadOptions1()
{
// 1) to load string options
m_sOption1=AfxGetApp()->GetProfileString(SETTINGS_KEY,OPTION1_KEY,"Default");
// 2) to load integer options
m_nOption2=AfxGetApp()->GetProfileInt(SETTINGS_KEY,OPTION2_KEY, 3 );
// 3) to load binary options
BYTE *p;
UINT size;
m_dOption3=33.3;
if (AfxGetApp()->GetProfileBinary(SETTINGS_KEY,OPTION3_KEY, &p, &size ))
{
memcpy(&m_dOption3,p,size);
delete []p;
}
}
void CMainFrame::SaveOptions1()
{
// 4) to save string options
AfxGetApp()->WriteProfileString(SETTINGS_KEY,OPTION1_KEY,m_sOption1);
// 5) to save integer options
AfxGetApp()->WriteProfileInt(SETTINGS_KEY,OPTION2_KEY, m_nOption2 );
// 6) to save binary options
AfxGetApp()->WriteProfileBinary(SETTINGS_KEY, OPTION3_KEY, (BYTE*)&m_dOption3, sizeof(m_dOption3));
}
/////////////////////////////////////////////////////////////////////
// if GetProfileBinary()/WriteProfileBinary() are NOT supported on your version of MFC
/////////////////////////////////////////////////////////////////////
void CMainFrame::LoadOptions2()
{
HKEY key;
DWORD size, type;
if(RegOpenKeyEx( HKEY_CURRENT_USER,APPLICATION_KEY,0,KEY_READ,&key) == ERROR_SUCCESS )
{
// 1) to load string options
size=128;
type = REG_SZ;
LPSTR psz = m_sOption1.GetBuffer(size);
RegQueryValueEx( key,OPTION1_KEY,0,&type,(LPBYTE)psz,&size );
m_sOption1.ReleaseBuffer();
// 2) to load integer options
size=4;
type = REG_DWORD;
RegQueryValueEx( key,OPTION2_KEY,0,&type,(LPBYTE)&m_nOption2,&size );
// 3) to load binary options
size=sizeof(DOUBLE);
type = REG_BINARY;
RegQueryValueEx( key,OPTION3_KEY,0,&type,(LPBYTE)&m_dOption3,&size );
RegCloseKey( key );
}
}
void CMainFrame::SaveOptions2()
{
HKEY key;
DWORD size, type, disposition;
if (RegOpenKeyEx( HKEY_CURRENT_USER,APPLICATION_KEY,0,
KEY_WRITE,&key)!=ERROR_SUCCESS)
{
RegCreateKeyEx( HKEY_CURRENT_USER,APPLICATION_KEY,0,"",
REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,
&key,&disposition);
}
// 4) to save string options
type = REG_SZ;
size = m_sOption1.GetLength();
RegSetValueEx( key,OPTION1_KEY,0,type,(LPBYTE)LPCSTR(m_sOption1),size );
// 5) to save int options
type = REG_DWORD;
size = 4;
RegSetValueEx( key,OPTION2_KEY,0,type,(LPBYTE)&m_nOption2,size );
// 6) to save binary options
type = REG_BINARY;
size = sizeof(DOUBLE);
RegSetValueEx( key,OPTION3_KEY,0,type,(LPBYTE)&m_dOption3,size );
RegCloseKey( key );
}
/////////////////////////////////////////////////////////////////////
// From: Visual C++ MFC Programming by Example by John E. Swanke
// Copyright (C) 19*** jeswanke. All rights reserved.
/////////////////////////////////////////////////////////////////////
近期下载者:
相关文件:
收藏者: