1 ///////////////////////////////////////
\r
4 // Based on code provided by Lynn Allan
\r
11 // Definitions for the CFormDoc class
\r
12 CFormDoc::CFormDoc() : m_bCheckA(FALSE), m_bCheckB(FALSE),
\r
13 m_bCheckC(FALSE), m_Radio(0)
\r
17 CFormDoc::~CFormDoc()
\r
21 DWORD CFormDoc::GetRegDwordFromOpenKey(HKEY hKey, LPCTSTR pName)
\r
24 DWORD dwCount = sizeof(DWORD);
\r
26 if (ERROR_SUCCESS == RegQueryValueEx(hKey, pName, NULL, &dwType, (LPBYTE)&dwValue, &dwCount))
\r
32 void CFormDoc::LoadDocRegistry(LPCTSTR szKeyName)
\r
35 CString strKey = _T("Software\\");
\r
36 strKey += szKeyName;
\r
37 strKey += _T("\\Document Settings");
\r
38 if (ERROR_SUCCESS ==RegOpenKeyEx(HKEY_CURRENT_USER, strKey, 0,
\r
41 m_bCheckA = GetRegDwordFromOpenKey(hKey, _T("CheckA")) & 1;
\r
42 m_bCheckB = GetRegDwordFromOpenKey(hKey, _T("CheckB")) & 1;
\r
43 m_bCheckC = GetRegDwordFromOpenKey(hKey, _T("CheckC")) & 1;
\r
44 m_Radio = GetRegDwordFromOpenKey(hKey, _T("Radio"));
\r
50 void CFormDoc::SaveDocRegistry(LPCTSTR szKeyName)
\r
53 CString strKey = _T("Software\\");
\r
54 strKey += szKeyName;
\r
55 strKey += _T("\\Document Settings");
\r
57 RegCreateKeyEx(HKEY_CURRENT_USER, strKey, 0, NULL,
\r
58 REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL);
\r
60 RegSetValueEx(hKey, _T("CheckA"), 0, REG_DWORD, (LPBYTE)&m_bCheckA, sizeof(BOOL));
\r
61 RegSetValueEx(hKey, _T("CheckB"), 0, REG_DWORD, (LPBYTE)&m_bCheckB, sizeof(BOOL));
\r
62 RegSetValueEx(hKey, _T("CheckC"), 0, REG_DWORD, (LPBYTE)&m_bCheckC, sizeof(BOOL));
\r
63 RegSetValueEx(hKey, _T("Radio"), 0, REG_DWORD, (LPBYTE)&m_Radio, sizeof(BOOL));
\r