ReactOS  0.4.14-dev-49-gfb4591c
RegistrySettings Class Reference

#include <registry.h>

Collaboration diagram for RegistrySettings:

Public Types

enum  WallpaperStyle { TILED, CENTERED, STRETCHED }
 

Public Member Functions

void Load ()
 
void Store ()
 
void SetMostRecentFile (LPCTSTR szPathName)
 

Static Public Member Functions

static void SetWallpaper (LPCTSTR szFileName, WallpaperStyle style)
 

Public Attributes

DWORD BMPHeight
 
DWORD BMPWidth
 
DWORD GridExtent
 
DWORD NoStretching
 
DWORD ShowThumbnail
 
DWORD SnapToGrid
 
DWORD ThumbHeight
 
DWORD ThumbWidth
 
DWORD ThumbXPos
 
DWORD ThumbYPos
 
DWORD UnitSetting
 
WINDOWPLACEMENT WindowPlacement
 
CString strFile1
 
CString strFile2
 
CString strFile3
 
CString strFile4
 

Private Member Functions

void LoadPresets ()
 

Detailed Description

Definition at line 11 of file registry.h.

Member Enumeration Documentation

◆ WallpaperStyle

Enumerator
TILED 
CENTERED 
STRETCHED 

Definition at line 35 of file registry.h.

Member Function Documentation

◆ Load()

void RegistrySettings::Load ( )

Definition at line 76 of file registry.cpp.

77 {
78  LoadPresets();
79 
80  CRegKey view;
81  if (view.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\View"), KEY_READ) == ERROR_SUCCESS)
82  {
83  ReadDWORD(view, _T("BMPHeight"), BMPHeight, TRUE);
84  ReadDWORD(view, _T("BMPWidth"), BMPWidth, TRUE);
85  ReadDWORD(view, _T("GridExtent"), GridExtent, FALSE);
86  ReadDWORD(view, _T("NoStretching"), NoStretching, FALSE);
87  ReadDWORD(view, _T("ShowThumbnail"), ShowThumbnail, FALSE);
88  ReadDWORD(view, _T("SnapToGrid"), SnapToGrid, FALSE);
89  ReadDWORD(view, _T("ThumbHeight"), ThumbHeight, TRUE);
90  ReadDWORD(view, _T("ThumbWidth"), ThumbWidth, TRUE);
91  ReadDWORD(view, _T("ThumbXPos"), ThumbXPos, TRUE);
92  ReadDWORD(view, _T("ThumbYPos"), ThumbYPos, TRUE);
93  ReadDWORD(view, _T("UnitSetting"), UnitSetting, FALSE);
94 
95  ULONG pnBytes = sizeof(WINDOWPLACEMENT);
96  view.QueryBinaryValue(_T("WindowPlacement"), &WindowPlacement, &pnBytes);
97  }
98 
99  CRegKey files;
100  if (files.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File List"), KEY_READ) == ERROR_SUCCESS)
101  {
102  ReadFileHistory(files, _T("File1"), strFile1);
103  ReadFileHistory(files, _T("File2"), strFile2);
104  ReadFileHistory(files, _T("File3"), strFile3);
105  ReadFileHistory(files, _T("File4"), strFile4);
106  }
107 }
DWORD ThumbXPos
Definition: registry.h:25
#define TRUE
Definition: types.h:120
struct _WINDOWPLACEMENT WINDOWPLACEMENT
#define ERROR_SUCCESS
Definition: deptool.c:10
DWORD ThumbHeight
Definition: registry.h:23
#define KEY_READ
Definition: nt_native.h:1023
#define HKEY_CURRENT_USER
Definition: winreg.h:11
CString strFile2
Definition: registry.h:31
DWORD BMPHeight
Definition: registry.h:17
static void ReadFileHistory(CRegKey &key, LPCTSTR lpName, CString &strFile)
Definition: registry.cpp:29
DWORD NoStretching
Definition: registry.h:20
DWORD ShowThumbnail
Definition: registry.h:21
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:28
#define _T(x)
Definition: vfdio.h:22
DWORD BMPWidth
Definition: registry.h:18
DWORD UnitSetting
Definition: registry.h:27
DWORD ThumbWidth
Definition: registry.h:24
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
Definition: atlbase.h:1070
static DWORD ReadDWORD(CRegKey &key, LPCTSTR lpName, DWORD &dwValue, BOOL bCheckForDef)
Definition: registry.cpp:16
DWORD ThumbYPos
Definition: registry.h:26
DWORD GridExtent
Definition: registry.h:19
CString strFile1
Definition: registry.h:30
CString strFile4
Definition: registry.h:33
DWORD SnapToGrid
Definition: registry.h:22
unsigned int ULONG
Definition: retypes.h:1
static IOleDocumentView * view
Definition: activex.c:1749
void LoadPresets()
Definition: registry.cpp:52
CString strFile3
Definition: registry.h:32

Referenced by _tWinMain().

◆ LoadPresets()

void RegistrySettings::LoadPresets ( )
private

Definition at line 52 of file registry.cpp.

53 {
54  BMPHeight = 300;
55  BMPWidth = 400;
56  GridExtent = 1;
57  NoStretching = 0;
58  ShowThumbnail = 0;
59  SnapToGrid = 0;
60  ThumbHeight = 100;
61  ThumbWidth = 120;
62  ThumbXPos = 180;
63  ThumbYPos = 200;
64  UnitSetting = 0;
65  const WINDOWPLACEMENT DefaultWindowPlacement = {
66  sizeof(WINDOWPLACEMENT),
67  0,
69  {0, 0},
70  {-1, -1},
71  {100, 100, 700, 550}
72  };
73  WindowPlacement = DefaultWindowPlacement;
74 }
DWORD ThumbXPos
Definition: registry.h:25
struct _WINDOWPLACEMENT WINDOWPLACEMENT
DWORD ThumbHeight
Definition: registry.h:23
DWORD BMPHeight
Definition: registry.h:17
DWORD NoStretching
Definition: registry.h:20
DWORD ShowThumbnail
Definition: registry.h:21
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:28
DWORD BMPWidth
Definition: registry.h:18
DWORD UnitSetting
Definition: registry.h:27
DWORD ThumbWidth
Definition: registry.h:24
DWORD ThumbYPos
Definition: registry.h:26
DWORD GridExtent
Definition: registry.h:19
#define SW_SHOWNORMAL
Definition: winuser.h:764
DWORD SnapToGrid
Definition: registry.h:22

Referenced by Load().

◆ SetMostRecentFile()

void RegistrySettings::SetMostRecentFile ( LPCTSTR  szPathName)

Definition at line 144 of file registry.cpp.

145 {
146  if (strFile1 == szPathName)
147  {
148  // do nothing
149  }
150  else if (strFile2 == szPathName)
151  {
152  CString strTemp = strFile2;
153  strFile2 = strFile1;
154  strFile1 = strTemp;
155  }
156  else if (strFile3 == szPathName)
157  {
158  CString strTemp = strFile3;
159  strFile3 = strFile2;
160  strFile2 = strFile1;
161  strFile1 = strTemp;
162  }
163  else if (strFile4 == szPathName)
164  {
165  CString strTemp = strFile4;
166  strFile4 = strFile3;
167  strFile3 = strFile2;
168  strFile2 = strFile1;
169  strFile1 = strTemp;
170  }
171  else
172  {
173  strFile4 = strFile3;
174  strFile3 = strFile2;
175  strFile2 = strFile1;
176  strFile1 = szPathName;
177  }
178 }
CString strFile2
Definition: registry.h:31
CString strFile1
Definition: registry.h:30
CString strFile4
Definition: registry.h:33
CString strFile3
Definition: registry.h:32

Referenced by _tWinMain(), and CMainWindow::UpdateApplicationProperties().

◆ SetWallpaper()

void RegistrySettings::SetWallpaper ( LPCTSTR  szFileName,
RegistrySettings::WallpaperStyle  style 
)
static

Definition at line 38 of file registry.cpp.

39 {
40  CRegKey desktop;
41  if (desktop.Open(HKEY_CURRENT_USER, _T("Control Panel\\Desktop")) == ERROR_SUCCESS)
42  {
43  desktop.SetStringValue(_T("Wallpaper"), szFileName);
44 
45  desktop.SetStringValue(_T("WallpaperStyle"), (style == RegistrySettings::STRETCHED) ? _T("2") : _T("0"));
46  desktop.SetStringValue(_T("TileWallpaper"), (style == RegistrySettings::TILED) ? _T("1") : _T("0"));
47  }
48 
50 }
#define ERROR_SUCCESS
Definition: deptool.c:10
#define SPI_SETDESKWALLPAPER
Definition: winuser.h:1351
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define SystemParametersInfo
Definition: winuser.h:5759
#define _T(x)
Definition: vfdio.h:22
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
Definition: atlbase.h:1070
#define SPIF_UPDATEINIFILE
Definition: winuser.h:1553
#define SPIF_SENDCHANGE
Definition: winuser.h:1554
Arabic default style
Definition: afstyles.h:93
LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType=REG_SZ)
Definition: atlbase.h:1224

Referenced by CMainWindow::OnCommand().

◆ Store()

void RegistrySettings::Store ( )

Definition at line 109 of file registry.cpp.

110 {
111  CRegKey view;
112  if (view.Create(HKEY_CURRENT_USER,
113  _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\View")) == ERROR_SUCCESS)
114  {
115  view.SetDWORDValue(_T("BMPHeight"), BMPHeight);
116  view.SetDWORDValue(_T("BMPWidth"), BMPWidth);
117  view.SetDWORDValue(_T("GridExtent"), GridExtent);
118  view.SetDWORDValue(_T("NoStretching"), NoStretching);
119  view.SetDWORDValue(_T("ShowThumbnail"), ShowThumbnail);
120  view.SetDWORDValue(_T("SnapToGrid"), SnapToGrid);
121  view.SetDWORDValue(_T("ThumbHeight"), ThumbHeight);
122  view.SetDWORDValue(_T("ThumbWidth"), ThumbWidth);
123  view.SetDWORDValue(_T("ThumbXPos"), ThumbXPos);
124  view.SetDWORDValue(_T("ThumbYPos"), ThumbYPos);
125  view.SetDWORDValue(_T("UnitSetting"), UnitSetting);
126 
127  view.SetBinaryValue(_T("WindowPlacement"), &WindowPlacement, sizeof(WINDOWPLACEMENT));
128  }
129 
130  CRegKey files;
131  if (files.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File List")) == ERROR_SUCCESS)
132  {
133  if (!strFile1.IsEmpty())
134  files.SetStringValue(_T("File1"), strFile1);
135  if (!strFile2.IsEmpty())
136  files.SetStringValue(_T("File2"), strFile2);
137  if (!strFile3.IsEmpty())
138  files.SetStringValue(_T("File3"), strFile3);
139  if (!strFile4.IsEmpty())
140  files.SetStringValue(_T("File4"), strFile4);
141  }
142 }
DWORD ThumbXPos
Definition: registry.h:25
#define ERROR_SUCCESS
Definition: deptool.c:10
DWORD ThumbHeight
Definition: registry.h:23
#define HKEY_CURRENT_USER
Definition: winreg.h:11
CString strFile2
Definition: registry.h:31
DWORD BMPHeight
Definition: registry.h:17
DWORD NoStretching
Definition: registry.h:20
DWORD ShowThumbnail
Definition: registry.h:21
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:28
#define _T(x)
Definition: vfdio.h:22
DWORD BMPWidth
Definition: registry.h:18
DWORD UnitSetting
Definition: registry.h:27
DWORD ThumbWidth
Definition: registry.h:24
LONG Create(HKEY hKeyParent, LPCTSTR lpszKeyName, LPTSTR lpszClass=REG_NONE, DWORD dwOptions=REG_OPTION_NON_VOLATILE, REGSAM samDesired=KEY_READ|KEY_WRITE, LPSECURITY_ATTRIBUTES lpSecAttr=NULL, LPDWORD lpdwDisposition=NULL)
Definition: atlbase.h:1091
DWORD ThumbYPos
Definition: registry.h:26
DWORD GridExtent
Definition: registry.h:19
CString strFile1
Definition: registry.h:30
CString strFile4
Definition: registry.h:33
bool IsEmpty() const
Definition: atlsimpstr.h:379
DWORD SnapToGrid
Definition: registry.h:22
static IOleDocumentView * view
Definition: activex.c:1749
LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType=REG_SZ)
Definition: atlbase.h:1224
CString strFile3
Definition: registry.h:32

Referenced by _tWinMain().

Member Data Documentation

◆ BMPHeight

DWORD RegistrySettings::BMPHeight

Definition at line 17 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ BMPWidth

DWORD RegistrySettings::BMPWidth

Definition at line 18 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ GridExtent

DWORD RegistrySettings::GridExtent

Definition at line 19 of file registry.h.

Referenced by Load(), LoadPresets(), and Store().

◆ NoStretching

DWORD RegistrySettings::NoStretching

Definition at line 20 of file registry.h.

Referenced by Load(), LoadPresets(), and Store().

◆ ShowThumbnail

DWORD RegistrySettings::ShowThumbnail

Definition at line 21 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ SnapToGrid

DWORD RegistrySettings::SnapToGrid

Definition at line 22 of file registry.h.

Referenced by Load(), LoadPresets(), and Store().

◆ strFile1

CString RegistrySettings::strFile1

◆ strFile2

CString RegistrySettings::strFile2

◆ strFile3

CString RegistrySettings::strFile3

◆ strFile4

CString RegistrySettings::strFile4

◆ ThumbHeight

DWORD RegistrySettings::ThumbHeight

Definition at line 23 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ ThumbWidth

DWORD RegistrySettings::ThumbWidth

Definition at line 24 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ ThumbXPos

DWORD RegistrySettings::ThumbXPos

Definition at line 25 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ ThumbYPos

DWORD RegistrySettings::ThumbYPos

Definition at line 26 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), and Store().

◆ UnitSetting

DWORD RegistrySettings::UnitSetting

Definition at line 27 of file registry.h.

Referenced by Load(), LoadPresets(), and Store().

◆ WindowPlacement

WINDOWPLACEMENT RegistrySettings::WindowPlacement

Definition at line 28 of file registry.h.

Referenced by _tWinMain(), Load(), LoadPresets(), CMainWindow::OnDestroy(), and Store().


The documentation for this class was generated from the following files: