Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / FormDemo / src / FormDoc.cpp
diff --git a/research/transmission_spectroscopy/TOF/Win32++/samples/FormDemo/src/FormDoc.cpp b/research/transmission_spectroscopy/TOF/Win32++/samples/FormDemo/src/FormDoc.cpp
new file mode 100644 (file)
index 0000000..86bece6
--- /dev/null
@@ -0,0 +1,67 @@
+///////////////////////////////////////\r
+// FormDoc.cpp\r
+\r
+// Based on code provided by Lynn Allan\r
+\r
+\r
+#include "stdafx.h"\r
+#include "FormDoc.h"\r
+\r
+\r
+// Definitions for the CFormDoc class\r
+CFormDoc::CFormDoc() : m_bCheckA(FALSE), m_bCheckB(FALSE),\r
+                       m_bCheckC(FALSE), m_Radio(0)\r
+{\r
+}\r
+\r
+CFormDoc::~CFormDoc()\r
+{\r
+}\r
+\r
+DWORD CFormDoc::GetRegDwordFromOpenKey(HKEY hKey, LPCTSTR pName)\r
+{\r
+  DWORD   dwType;\r
+  DWORD   dwCount = sizeof(DWORD);\r
+  DWORD   dwValue = 0;\r
+  if (ERROR_SUCCESS == RegQueryValueEx(hKey, pName, NULL, &dwType, (LPBYTE)&dwValue, &dwCount))\r
+         return dwValue;\r
+  else\r
+         return 0;\r
+}\r
+\r
+void CFormDoc::LoadDocRegistry(LPCTSTR szKeyName)\r
+{\r
+       HKEY hKey;\r
+       CString strKey = _T("Software\\");\r
+       strKey += szKeyName;\r
+       strKey += _T("\\Document Settings");\r
+       if (ERROR_SUCCESS ==RegOpenKeyEx(HKEY_CURRENT_USER, strKey, 0,\r
+               KEY_READ, &hKey))\r
+       {\r
+               m_bCheckA = GetRegDwordFromOpenKey(hKey, _T("CheckA")) & 1;\r
+               m_bCheckB = GetRegDwordFromOpenKey(hKey, _T("CheckB")) & 1;\r
+               m_bCheckC = GetRegDwordFromOpenKey(hKey, _T("CheckC")) & 1;\r
+               m_Radio = GetRegDwordFromOpenKey(hKey, _T("Radio"));\r
+\r
+               RegCloseKey(hKey);\r
+       }\r
+}\r
+\r
+void CFormDoc::SaveDocRegistry(LPCTSTR szKeyName)\r
+{\r
+       HKEY hKey;\r
+       CString strKey = _T("Software\\");\r
+       strKey += szKeyName;\r
+       strKey += _T("\\Document Settings");\r
+\r
+       RegCreateKeyEx(HKEY_CURRENT_USER, strKey, 0, NULL,\r
+       REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL);\r
+\r
+       RegSetValueEx(hKey, _T("CheckA"), 0, REG_DWORD, (LPBYTE)&m_bCheckA, sizeof(BOOL));\r
+       RegSetValueEx(hKey, _T("CheckB"), 0, REG_DWORD, (LPBYTE)&m_bCheckB, sizeof(BOOL));\r
+       RegSetValueEx(hKey, _T("CheckC"), 0, REG_DWORD, (LPBYTE)&m_bCheckC, sizeof(BOOL));\r
+       RegSetValueEx(hKey, _T("Radio"), 0, REG_DWORD, (LPBYTE)&m_Radio, sizeof(BOOL));\r
+\r
+       RegCloseKey(hKey);\r
+}\r
+\r

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