Merge branch 'master' of git.ucc.asn.au:/matches/honours
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / FormDemo / src / FormDoc.cpp
1 ///////////////////////////////////////\r
2 // FormDoc.cpp\r
3 \r
4 // Based on code provided by Lynn Allan\r
5 \r
6 \r
7 #include "stdafx.h"\r
8 #include "FormDoc.h"\r
9 \r
10 \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
14 {\r
15 }\r
16 \r
17 CFormDoc::~CFormDoc()\r
18 {\r
19 }\r
20 \r
21 DWORD CFormDoc::GetRegDwordFromOpenKey(HKEY hKey, LPCTSTR pName)\r
22 {\r
23   DWORD   dwType;\r
24   DWORD   dwCount = sizeof(DWORD);\r
25   DWORD   dwValue = 0;\r
26   if (ERROR_SUCCESS == RegQueryValueEx(hKey, pName, NULL, &dwType, (LPBYTE)&dwValue, &dwCount))\r
27           return dwValue;\r
28   else\r
29           return 0;\r
30 }\r
31 \r
32 void CFormDoc::LoadDocRegistry(LPCTSTR szKeyName)\r
33 {\r
34         HKEY hKey;\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
39                 KEY_READ, &hKey))\r
40         {\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
45 \r
46                 RegCloseKey(hKey);\r
47         }\r
48 }\r
49 \r
50 void CFormDoc::SaveDocRegistry(LPCTSTR szKeyName)\r
51 {\r
52         HKEY hKey;\r
53         CString strKey = _T("Software\\");\r
54         strKey += szKeyName;\r
55         strKey += _T("\\Document Settings");\r
56 \r
57         RegCreateKeyEx(HKEY_CURRENT_USER, strKey, 0, NULL,\r
58         REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL);\r
59 \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
64 \r
65         RegCloseKey(hKey);\r
66 }\r
67 \r

UCC git Repository :: git.ucc.asn.au