ReactOS 0.4.15-dev-6656-gbbb33a6
RegistrySettings Class Reference

#include <registry.h>

Collaboration diagram for RegistrySettings:

Public Types

enum  WallpaperStyle { TILED , CENTERED , STRETCHED }
 

Public Member Functions

void Load (INT nCmdShow)
 
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 strFiles [MAX_RECENT_FILES]
 
CString strFontName
 
DWORD PointSize
 
DWORD Bold
 
DWORD Italic
 
DWORD Underline
 
DWORD CharSet
 
DWORD FontsPositionX
 
DWORD FontsPositionY
 
DWORD ShowTextTool
 
DWORD ShowStatusBar
 
DWORD ShowPalette
 
DWORD ShowToolBox
 
DWORD Bar1ID
 
DWORD Bar2ID
 

Private Member Functions

void LoadPresets (INT nCmdShow)
 

Detailed Description

Definition at line 12 of file registry.h.

Member Enumeration Documentation

◆ WallpaperStyle

Enumerator
TILED 
CENTERED 
STRETCHED 

Definition at line 58 of file registry.h.

58 {
59 TILED,
62 };

Member Function Documentation

◆ Load()

void RegistrySettings::Load ( INT  nCmdShow)

Definition at line 92 of file registry.cpp.

93{
94 LoadPresets(nCmdShow);
95
96 CRegKey paint;
97 if (paint.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint"), KEY_READ) != ERROR_SUCCESS)
98 return;
99
101 if (view.Open(paint, _T("View"), KEY_READ) == ERROR_SUCCESS)
102 {
103 ReadDWORD(view, _T("BMPHeight"), BMPHeight);
104 ReadDWORD(view, _T("BMPWidth"), BMPWidth);
105 ReadDWORD(view, _T("GridExtent"), GridExtent);
106 ReadDWORD(view, _T("NoStretching"), NoStretching);
107 ReadDWORD(view, _T("ShowThumbnail"), ShowThumbnail);
108 ReadDWORD(view, _T("SnapToGrid"), SnapToGrid);
109 ReadDWORD(view, _T("ThumbHeight"), ThumbHeight);
110 ReadDWORD(view, _T("ThumbWidth"), ThumbWidth);
111 ReadDWORD(view, _T("ThumbXPos"), ThumbXPos);
112 ReadDWORD(view, _T("ThumbYPos"), ThumbYPos);
113 ReadDWORD(view, _T("UnitSetting"), UnitSetting);
114 ReadDWORD(view, _T("ShowStatusBar"), ShowStatusBar);
115
116 ULONG pnBytes = sizeof(WINDOWPLACEMENT);
117 view.QueryBinaryValue(_T("WindowPlacement"), &WindowPlacement, &pnBytes);
118 }
119
120 CRegKey files;
121 if (files.Open(paint, _T("Recent File List"), KEY_READ) == ERROR_SUCCESS)
122 {
123 TCHAR szName[64];
124 for (INT i = 0; i < MAX_RECENT_FILES; ++i)
125 {
126 wsprintf(szName, _T("File%u"), i + 1);
127 ReadString(files, szName, strFiles[i]);
128 }
129 }
130
132 if (text.Open(paint, _T("Text"), KEY_READ) == ERROR_SUCCESS)
133 {
134 ReadDWORD(text, _T("Bold"), Bold);
135 ReadDWORD(text, _T("Italic"), Italic);
136 ReadDWORD(text, _T("Underline"), Underline);
137 ReadDWORD(text, _T("CharSet"), CharSet);
138 ReadDWORD(text, _T("PointSize"), PointSize);
139 ReadDWORD(text, _T("PositionX"), FontsPositionX);
140 ReadDWORD(text, _T("PositionY"), FontsPositionY);
141 ReadDWORD(text, _T("ShowTextTool"), ShowTextTool);
142 ReadString(text, _T("TypeFaceName"), strFontName, strFontName);
143 }
144
146 if (bar1.Open(paint, _T("General-Bar1"), KEY_READ) == ERROR_SUCCESS)
147 {
148 ReadDWORD(bar1, _T("BarID"), Bar1ID);
149 }
150
152 if (bar2.Open(paint, _T("General-Bar2"), KEY_READ) == ERROR_SUCCESS)
153 {
154 ReadDWORD(bar2, _T("BarID"), Bar2ID);
155 }
156
157 CRegKey bar3;
158 if (bar3.Open(paint, _T("General-Bar3"), KEY_READ) == ERROR_SUCCESS)
159 {
160 ReadDWORD(bar3, _T("Visible"), ShowToolBox);
161 }
162
163 CRegKey bar4;
164 if (bar4.Open(paint, _T("General-Bar4"), KEY_READ) == ERROR_SUCCESS)
165 {
166 ReadDWORD(bar4, _T("Visible"), ShowPalette);
167 }
168
169 // Fix the bitmap size if too large
170 if (BMPWidth > 5000)
172 if (BMPHeight > 5000)
174}
static void ReadDWORD(CRegKey &key, LPCTSTR lpName, DWORD &dwValue)
Definition: registry.cpp:18
static void ReadString(CRegKey &key, LPCTSTR lpName, CString &strValue, LPCTSTR lpDefault=TEXT(""))
Definition: registry.cpp:25
#define MAX_RECENT_FILES
Definition: registry.h:10
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
Definition: atlbase.h:1173
DWORD PointSize
Definition: registry.h:34
DWORD UnitSetting
Definition: registry.h:28
DWORD ShowTextTool
Definition: registry.h:41
DWORD ThumbXPos
Definition: registry.h:26
DWORD GridExtent
Definition: registry.h:20
DWORD ShowToolBox
Definition: registry.h:44
DWORD BMPWidth
Definition: registry.h:19
DWORD FontsPositionY
Definition: registry.h:40
DWORD ShowPalette
Definition: registry.h:43
DWORD ThumbYPos
Definition: registry.h:27
DWORD ThumbWidth
Definition: registry.h:25
DWORD FontsPositionX
Definition: registry.h:39
CString strFontName
Definition: registry.h:33
DWORD ShowThumbnail
Definition: registry.h:22
DWORD Underline
Definition: registry.h:37
DWORD ShowStatusBar
Definition: registry.h:42
DWORD NoStretching
Definition: registry.h:21
void LoadPresets(INT nCmdShow)
Definition: registry.cpp:53
DWORD SnapToGrid
Definition: registry.h:23
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:29
DWORD BMPHeight
Definition: registry.h:18
DWORD ThumbHeight
Definition: registry.h:24
CString strFiles[MAX_RECENT_FILES]
Definition: registry.h:31
#define ERROR_SUCCESS
Definition: deptool.c:10
const WCHAR * text
Definition: package.c:1799
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define KEY_READ
Definition: nt_native.h:1023
static const WCHAR szName[]
Definition: powrprof.c:45
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
#define _T(x)
Definition: vfdio.h:22
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define SM_CYSCREEN
Definition: winuser.h:954
#define wsprintf
Definition: winuser.h:5855
#define SM_CXSCREEN
Definition: winuser.h:953
struct _WINDOWPLACEMENT WINDOWPLACEMENT
int WINAPI GetSystemMetrics(_In_ int)
VOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter)
Definition: xcpt4u.c:3283
VOID bar1(IN NTSTATUS Status, IN PLONG Counter)
Definition: xcpt4u.c:3266
char TCHAR
Definition: xmlstorage.h:189

Referenced by _tWinMain().

◆ LoadPresets()

void RegistrySettings::LoadPresets ( INT  nCmdShow)
private

Definition at line 53 of file registry.cpp.

54{
57 GridExtent = 1;
58 NoStretching = 0;
59 ShowThumbnail = 0;
60 SnapToGrid = 0;
61 ThumbHeight = 100;
62 ThumbWidth = 120;
63 ThumbXPos = 180;
64 ThumbYPos = 200;
65 UnitSetting = 0;
66 Bold = FALSE;
67 Italic = FALSE;
70 PointSize = 14;
79
80 LOGFONT lf;
81 GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
83
86 rc.left = rc.top = CW_USEDEFAULT;
87 rc.right = rc.left + 544;
88 rc.bottom = rc.top + 375;
89 WindowPlacement.showCmd = nCmdShow;
90}
#define BAR1ID_TOP
Definition: registry.h:50
#define BAR2ID_LEFT
Definition: registry.h:55
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
CHAR lfFaceName[LF_FACESIZE]
Definition: dimm.idl:55
RECT rcNormalPosition
Definition: winuser.h:3285
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
#define ZeroMemory
Definition: winbase.h:1700
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define DEFAULT_GUI_FONT
Definition: wingdi.h:909
#define DEFAULT_CHARSET
Definition: wingdi.h:384
#define GetObject
Definition: wingdi.h:4468
#define CW_USEDEFAULT
Definition: winuser.h:225

Referenced by Load().

◆ SetMostRecentFile()

void RegistrySettings::SetMostRecentFile ( LPCTSTR  szPathName)

Definition at line 254 of file registry.cpp.

255{
256 // Register the file to the user's 'Recent' folder
257 if (szPathName && szPathName[0])
258 SHAddToRecentDocs(SHARD_PATHW, szPathName);
259
260 // If szPathName is present in strFiles, move it to the top of the list
261 for (INT i = MAX_RECENT_FILES - 1, iFound = -1; i > 0; --i)
262 {
263 if (iFound < 0 && strFiles[i].CompareNoCase(szPathName) == 0)
264 iFound = i;
265
266 if (iFound >= 0)
267 {
268 CString tmp = strFiles[i];
269 strFiles[i] = strFiles[i - 1];
270 strFiles[i - 1] = tmp;
271 }
272 }
273
274 // If szPathName is not the first item in strFiles, insert it at the top of the list
275 if (strFiles[0].CompareNoCase(szPathName) != 0)
276 {
277 for (INT i = MAX_RECENT_FILES - 1; i > 0; --i)
278 strFiles[i] = strFiles[i - 1];
279
280 strFiles[0] = szPathName;
281 }
282}
void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv)
Definition: shellord.c:809
#define SHARD_PATHW
Definition: shlobj.h:1107

Referenced by SetFileInfo().

◆ SetWallpaper()

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

Definition at line 39 of file registry.cpp.

40{
41 CRegKey desktop;
42 if (desktop.Open(HKEY_CURRENT_USER, _T("Control Panel\\Desktop")) == ERROR_SUCCESS)
43 {
44 desktop.SetStringValue(_T("Wallpaper"), szFileName);
45
46 desktop.SetStringValue(_T("WallpaperStyle"), (style == RegistrySettings::STRETCHED) ? _T("2") : _T("0"));
47 desktop.SetStringValue(_T("TileWallpaper"), (style == RegistrySettings::TILED) ? _T("1") : _T("0"));
48 }
49
51}
Arabic default style
Definition: afstyles.h:94
LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType=REG_SZ)
Definition: atlbase.h:1315
#define SPI_SETDESKWALLPAPER
Definition: winuser.h:1359
#define SPIF_SENDCHANGE
Definition: winuser.h:1562
#define SPIF_UPDATEINIFILE
Definition: winuser.h:1561
#define SystemParametersInfo
Definition: winuser.h:5848

Referenced by CMainWindow::OnCommand().

◆ Store()

void RegistrySettings::Store ( )

Definition at line 176 of file registry.cpp.

177{
180
181 CRegKey paint;
182 if (paint.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint")) != ERROR_SUCCESS)
183 return;
184
186 if (view.Create(paint, _T("View")) == ERROR_SUCCESS)
187 {
188 view.SetDWORDValue(_T("BMPHeight"), BMPHeight);
189 view.SetDWORDValue(_T("BMPWidth"), BMPWidth);
190 view.SetDWORDValue(_T("GridExtent"), GridExtent);
191 view.SetDWORDValue(_T("NoStretching"), NoStretching);
192 view.SetDWORDValue(_T("ShowThumbnail"), ShowThumbnail);
193 view.SetDWORDValue(_T("SnapToGrid"), SnapToGrid);
194 view.SetDWORDValue(_T("ThumbHeight"), ThumbHeight);
195 view.SetDWORDValue(_T("ThumbWidth"), ThumbWidth);
196 view.SetDWORDValue(_T("ThumbXPos"), ThumbXPos);
197 view.SetDWORDValue(_T("ThumbYPos"), ThumbYPos);
198 view.SetDWORDValue(_T("UnitSetting"), UnitSetting);
199 view.SetDWORDValue(_T("ShowStatusBar"), ShowStatusBar);
200
201 view.SetBinaryValue(_T("WindowPlacement"), &WindowPlacement, sizeof(WINDOWPLACEMENT));
202 }
203
204 CRegKey files;
205 if (files.Create(paint, _T("Recent File List")) == ERROR_SUCCESS)
206 {
207 TCHAR szName[64];
208 for (INT iFile = 0; iFile < MAX_RECENT_FILES; ++iFile)
209 {
210 wsprintf(szName, _T("File%u"), iFile + 1);
212 }
213 }
214
216 if (text.Create(paint, _T("Text")) == ERROR_SUCCESS)
217 {
218 text.SetDWORDValue(_T("Bold"), Bold);
219 text.SetDWORDValue(_T("Italic"), Italic);
220 text.SetDWORDValue(_T("Underline"), Underline);
221 text.SetDWORDValue(_T("CharSet"), CharSet);
222 text.SetDWORDValue(_T("PointSize"), PointSize);
223 text.SetDWORDValue(_T("PositionX"), FontsPositionX);
224 text.SetDWORDValue(_T("PositionY"), FontsPositionY);
225 text.SetDWORDValue(_T("ShowTextTool"), ShowTextTool);
226 text.SetStringValue(_T("TypeFaceName"), strFontName);
227 }
228
230 if (bar1.Create(paint, _T("General-Bar1")) == ERROR_SUCCESS)
231 {
232 bar1.SetDWORDValue(_T("BarID"), Bar1ID);
233 }
234
236 if (bar2.Create(paint, _T("General-Bar2")) == ERROR_SUCCESS)
237 {
238 bar2.SetDWORDValue(_T("BarID"), Bar2ID);
239 }
240
241 CRegKey bar3;
242 if (bar3.Create(paint, _T("General-Bar3")) == ERROR_SUCCESS)
243 {
244 bar3.SetDWORDValue(_T("Visible"), ShowToolBox);
245 }
246
247 CRegKey bar4;
248 if (bar4.Create(paint, _T("General-Bar4")) == ERROR_SUCCESS)
249 {
250 bar4.SetDWORDValue(_T("Visible"), ShowPalette);
251 }
252}
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue)
Definition: atlbase.h:1310
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:1189
int GetWidth() const
Definition: history.cpp:194
int GetHeight() const
Definition: history.cpp:199
ImageModel imageModel
Definition: history.cpp:11
_In_ ULONG_PTR iFile
Definition: winddi.h:3835

Referenced by _tWinMain().

Member Data Documentation

◆ Bar1ID

DWORD RegistrySettings::Bar1ID

◆ Bar2ID

DWORD RegistrySettings::Bar2ID

◆ BMPHeight

DWORD RegistrySettings::BMPHeight

Definition at line 18 of file registry.h.

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

◆ BMPWidth

DWORD RegistrySettings::BMPWidth

Definition at line 19 of file registry.h.

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

◆ Bold

DWORD RegistrySettings::Bold

◆ CharSet

DWORD RegistrySettings::CharSet

Definition at line 38 of file registry.h.

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

◆ FontsPositionX

DWORD RegistrySettings::FontsPositionX

Definition at line 39 of file registry.h.

Referenced by Load(), LoadPresets(), CFontsDialog::OnInitDialog(), CFontsDialog::OnMove(), and Store().

◆ FontsPositionY

DWORD RegistrySettings::FontsPositionY

Definition at line 40 of file registry.h.

Referenced by Load(), LoadPresets(), CFontsDialog::OnInitDialog(), CFontsDialog::OnMove(), and Store().

◆ GridExtent

DWORD RegistrySettings::GridExtent

Definition at line 20 of file registry.h.

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

◆ Italic

DWORD RegistrySettings::Italic

◆ NoStretching

DWORD RegistrySettings::NoStretching

Definition at line 21 of file registry.h.

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

◆ PointSize

DWORD RegistrySettings::PointSize

◆ ShowPalette

DWORD RegistrySettings::ShowPalette

Definition at line 43 of file registry.h.

Referenced by Load(), LoadPresets(), CMainWindow::OnCommand(), CMainWindow::OnCreate(), and Store().

◆ ShowStatusBar

DWORD RegistrySettings::ShowStatusBar

Definition at line 42 of file registry.h.

Referenced by Load(), LoadPresets(), CMainWindow::OnCommand(), CMainWindow::OnCreate(), and Store().

◆ ShowTextTool

DWORD RegistrySettings::ShowTextTool

◆ ShowThumbnail

◆ ShowToolBox

DWORD RegistrySettings::ShowToolBox

Definition at line 44 of file registry.h.

Referenced by CToolBox::DoCreate(), Load(), LoadPresets(), CMainWindow::OnCommand(), and Store().

◆ SnapToGrid

DWORD RegistrySettings::SnapToGrid

Definition at line 23 of file registry.h.

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

◆ strFiles

CString RegistrySettings::strFiles[MAX_RECENT_FILES]

◆ strFontName

CString RegistrySettings::strFontName

◆ ThumbHeight

DWORD RegistrySettings::ThumbHeight

◆ ThumbWidth

DWORD RegistrySettings::ThumbWidth

◆ ThumbXPos

DWORD RegistrySettings::ThumbXPos

◆ ThumbYPos

DWORD RegistrySettings::ThumbYPos

◆ Underline

DWORD RegistrySettings::Underline

◆ UnitSetting

DWORD RegistrySettings::UnitSetting

Definition at line 28 of file registry.h.

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

◆ WindowPlacement

WINDOWPLACEMENT RegistrySettings::WindowPlacement

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