ReactOS 0.4.15-dev-5895-g2687c1b
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
 

Private Member Functions

void LoadPresets (INT nCmdShow)
 

Detailed Description

Definition at line 13 of file registry.h.

Member Enumeration Documentation

◆ WallpaperStyle

Enumerator
TILED 
CENTERED 
STRETCHED 

Definition at line 47 of file registry.h.

47 {
48 TILED,
51 };

Member Function Documentation

◆ Load()

void RegistrySettings::Load ( INT  nCmdShow)

Definition at line 91 of file registry.cpp.

92{
93 LoadPresets(nCmdShow);
94
95 CRegKey paint;
96 if (paint.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint"), KEY_READ) != ERROR_SUCCESS)
97 return;
98
100 if (view.Open(paint, _T("View"), KEY_READ) == ERROR_SUCCESS)
101 {
102 ReadDWORD(view, _T("BMPHeight"), BMPHeight);
103 ReadDWORD(view, _T("BMPWidth"), BMPWidth);
104 ReadDWORD(view, _T("GridExtent"), GridExtent);
105 ReadDWORD(view, _T("NoStretching"), NoStretching);
106 ReadDWORD(view, _T("ShowThumbnail"), ShowThumbnail);
107 ReadDWORD(view, _T("SnapToGrid"), SnapToGrid);
108 ReadDWORD(view, _T("ThumbHeight"), ThumbHeight);
109 ReadDWORD(view, _T("ThumbWidth"), ThumbWidth);
110 ReadDWORD(view, _T("ThumbXPos"), ThumbXPos);
111 ReadDWORD(view, _T("ThumbYPos"), ThumbYPos);
112 ReadDWORD(view, _T("UnitSetting"), UnitSetting);
113 ReadDWORD(view, _T("ShowStatusBar"), ShowStatusBar);
114
115 ULONG pnBytes = sizeof(WINDOWPLACEMENT);
116 view.QueryBinaryValue(_T("WindowPlacement"), &WindowPlacement, &pnBytes);
117 }
118
119 CRegKey files;
120 if (files.Open(paint, _T("Recent File List"), KEY_READ) == ERROR_SUCCESS)
121 {
122 TCHAR szName[64];
123 for (INT i = 0; i < MAX_RECENT_FILES; ++i)
124 {
125 wsprintf(szName, _T("File%u"), i + 1);
126 ReadString(files, szName, strFiles[i]);
127 }
128 }
129
131 if (text.Open(paint, _T("Text"), KEY_READ) == ERROR_SUCCESS)
132 {
133 ReadDWORD(text, _T("Bold"), Bold);
134 ReadDWORD(text, _T("Italic"), Italic);
135 ReadDWORD(text, _T("Underline"), Underline);
136 ReadDWORD(text, _T("CharSet"), CharSet);
137 ReadDWORD(text, _T("PointSize"), PointSize);
138 ReadDWORD(text, _T("PositionX"), FontsPositionX);
139 ReadDWORD(text, _T("PositionY"), FontsPositionY);
140 ReadDWORD(text, _T("ShowTextTool"), ShowTextTool);
141 ReadString(text, _T("TypeFaceName"), strFontName, strFontName);
142 }
143
144 CRegKey bar3;
145 if (bar3.Open(paint, _T("General-Bar3"), KEY_READ) == ERROR_SUCCESS)
146 {
147 ReadDWORD(bar3, _T("Visible"), ShowToolBox);
148 }
149
150 CRegKey bar4;
151 if (bar4.Open(paint, _T("General-Bar4"), KEY_READ) == ERROR_SUCCESS)
152 {
153 ReadDWORD(bar4, _T("Visible"), ShowPalette);
154 }
155
156 // Fix the bitmap size if too large
157 if (BMPWidth > 5000)
159 if (BMPHeight > 5000)
161}
static void ReadDWORD(CRegKey &key, LPCTSTR lpName, DWORD &dwValue)
Definition: registry.cpp:19
static void ReadString(CRegKey &key, LPCTSTR lpName, CString &strValue, LPCTSTR lpDefault=TEXT(""))
Definition: registry.cpp:26
#define MAX_RECENT_FILES
Definition: registry.h:11
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
Definition: atlbase.h:1072
DWORD PointSize
Definition: registry.h:35
DWORD UnitSetting
Definition: registry.h:29
DWORD ShowTextTool
Definition: registry.h:42
DWORD ThumbXPos
Definition: registry.h:27
DWORD GridExtent
Definition: registry.h:21
DWORD ShowToolBox
Definition: registry.h:45
DWORD BMPWidth
Definition: registry.h:20
DWORD FontsPositionY
Definition: registry.h:41
DWORD ShowPalette
Definition: registry.h:44
DWORD ThumbYPos
Definition: registry.h:28
DWORD ThumbWidth
Definition: registry.h:26
DWORD FontsPositionX
Definition: registry.h:40
CString strFontName
Definition: registry.h:34
DWORD ShowThumbnail
Definition: registry.h:23
DWORD Underline
Definition: registry.h:38
DWORD ShowStatusBar
Definition: registry.h:43
DWORD NoStretching
Definition: registry.h:22
void LoadPresets(INT nCmdShow)
Definition: registry.cpp:54
DWORD SnapToGrid
Definition: registry.h:24
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:30
DWORD BMPHeight
Definition: registry.h:19
DWORD ThumbHeight
Definition: registry.h:25
CString strFiles[MAX_RECENT_FILES]
Definition: registry.h:32
#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)
char TCHAR
Definition: xmlstorage.h:189

Referenced by _tWinMain().

◆ LoadPresets()

void RegistrySettings::LoadPresets ( INT  nCmdShow)
private

Definition at line 54 of file registry.cpp.

55{
58 GridExtent = 1;
59 NoStretching = 0;
60 ShowThumbnail = 0;
61 SnapToGrid = 0;
62 ThumbHeight = 100;
63 ThumbWidth = 120;
64 ThumbXPos = 180;
65 ThumbYPos = 200;
66 UnitSetting = 0;
67 Bold = FALSE;
68 Italic = FALSE;
71 PointSize = 14;
78
79 LOGFONT lf;
80 GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
82
85 rc.left = rc.top = CW_USEDEFAULT;
86 rc.right = rc.left + 544;
87 rc.bottom = rc.top + 375;
88 WindowPlacement.showCmd = nCmdShow;
89}
#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:1670
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 229 of file registry.cpp.

230{
231 // Register the file to the user's 'Recent' folder
232 if (szPathName && szPathName[0])
233 SHAddToRecentDocs(SHARD_PATHW, szPathName);
234
235 // If szPathName is present in strFiles, move it to the top of the list
236 for (INT i = MAX_RECENT_FILES - 1, iFound = -1; i > 0; --i)
237 {
238 if (iFound < 0 && strFiles[i].CompareNoCase(szPathName) == 0)
239 iFound = i;
240
241 if (iFound >= 0)
242 {
243 CString tmp = strFiles[i];
244 strFiles[i] = strFiles[i - 1];
245 strFiles[i - 1] = tmp;
246 }
247 }
248
249 // If szPathName is not the first item in strFiles, insert it at the top of the list
250 if (strFiles[0].CompareNoCase(szPathName) != 0)
251 {
252 for (INT i = MAX_RECENT_FILES - 1; i > 0; --i)
253 strFiles[i] = strFiles[i - 1];
254
255 strFiles[0] = szPathName;
256 }
257}
void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv)
Definition: shellord.c:809
#define SHARD_PATHW
Definition: shlobj.h:1103

Referenced by SaveDIBToFile(), and SetBitmapAndInfo().

◆ SetWallpaper()

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

Definition at line 40 of file registry.cpp.

41{
42 CRegKey desktop;
43 if (desktop.Open(HKEY_CURRENT_USER, _T("Control Panel\\Desktop")) == ERROR_SUCCESS)
44 {
45 desktop.SetStringValue(_T("Wallpaper"), szFileName);
46
47 desktop.SetStringValue(_T("WallpaperStyle"), (style == RegistrySettings::STRETCHED) ? _T("2") : _T("0"));
48 desktop.SetStringValue(_T("TileWallpaper"), (style == RegistrySettings::TILED) ? _T("1") : _T("0"));
49 }
50
52}
Arabic default style
Definition: afstyles.h:94
LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType=REG_SZ)
Definition: atlbase.h:1214
#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 163 of file registry.cpp.

164{
167
168 CRegKey paint;
169 if (paint.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint")) != ERROR_SUCCESS)
170 return;
171
173 if (view.Create(paint, _T("View")) == ERROR_SUCCESS)
174 {
175 view.SetDWORDValue(_T("BMPHeight"), BMPHeight);
176 view.SetDWORDValue(_T("BMPWidth"), BMPWidth);
177 view.SetDWORDValue(_T("GridExtent"), GridExtent);
178 view.SetDWORDValue(_T("NoStretching"), NoStretching);
179 view.SetDWORDValue(_T("ShowThumbnail"), ShowThumbnail);
180 view.SetDWORDValue(_T("SnapToGrid"), SnapToGrid);
181 view.SetDWORDValue(_T("ThumbHeight"), ThumbHeight);
182 view.SetDWORDValue(_T("ThumbWidth"), ThumbWidth);
183 view.SetDWORDValue(_T("ThumbXPos"), ThumbXPos);
184 view.SetDWORDValue(_T("ThumbYPos"), ThumbYPos);
185 view.SetDWORDValue(_T("UnitSetting"), UnitSetting);
186 view.SetDWORDValue(_T("ShowStatusBar"), ShowStatusBar);
187
188 view.SetBinaryValue(_T("WindowPlacement"), &WindowPlacement, sizeof(WINDOWPLACEMENT));
189 }
190
191 CRegKey files;
192 if (files.Create(paint, _T("Recent File List")) == ERROR_SUCCESS)
193 {
194 TCHAR szName[64];
195 for (INT iFile = 0; iFile < MAX_RECENT_FILES; ++iFile)
196 {
197 wsprintf(szName, _T("File%u"), iFile + 1);
199 }
200 }
201
203 if (text.Create(paint, _T("Text")) == ERROR_SUCCESS)
204 {
205 text.SetDWORDValue(_T("Bold"), Bold);
206 text.SetDWORDValue(_T("Italic"), Italic);
207 text.SetDWORDValue(_T("Underline"), Underline);
208 text.SetDWORDValue(_T("CharSet"), CharSet);
209 text.SetDWORDValue(_T("PointSize"), PointSize);
210 text.SetDWORDValue(_T("PositionX"), FontsPositionX);
211 text.SetDWORDValue(_T("PositionY"), FontsPositionY);
212 text.SetDWORDValue(_T("ShowTextTool"), ShowTextTool);
213 text.SetStringValue(_T("TypeFaceName"), strFontName);
214 }
215
216 CRegKey bar3;
217 if (bar3.Create(paint, _T("General-Bar3")) == ERROR_SUCCESS)
218 {
219 bar3.SetDWORDValue(_T("Visible"), ShowToolBox);
220 }
221
222 CRegKey bar4;
223 if (bar4.Create(paint, _T("General-Bar4")) == ERROR_SUCCESS)
224 {
225 bar4.SetDWORDValue(_T("Visible"), ShowPalette);
226 }
227}
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue)
Definition: atlbase.h:1209
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:1088
int GetWidth() const
Definition: history.cpp:215
int GetHeight() const
Definition: history.cpp:220
ImageModel imageModel
Definition: history.cpp:11
_In_ ULONG_PTR iFile
Definition: winddi.h:3835

Referenced by _tWinMain().

Member Data Documentation

◆ BMPHeight

DWORD RegistrySettings::BMPHeight

Definition at line 19 of file registry.h.

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

◆ BMPWidth

DWORD RegistrySettings::BMPWidth

Definition at line 20 of file registry.h.

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

◆ Bold

DWORD RegistrySettings::Bold

◆ CharSet

DWORD RegistrySettings::CharSet

Definition at line 39 of file registry.h.

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

◆ FontsPositionX

DWORD RegistrySettings::FontsPositionX

Definition at line 40 of file registry.h.

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

◆ FontsPositionY

DWORD RegistrySettings::FontsPositionY

Definition at line 41 of file registry.h.

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

◆ GridExtent

DWORD RegistrySettings::GridExtent

Definition at line 21 of file registry.h.

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

◆ Italic

DWORD RegistrySettings::Italic

◆ NoStretching

DWORD RegistrySettings::NoStretching

Definition at line 22 of file registry.h.

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

◆ PointSize

DWORD RegistrySettings::PointSize

◆ ShowPalette

DWORD RegistrySettings::ShowPalette

Definition at line 44 of file registry.h.

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

◆ ShowStatusBar

DWORD RegistrySettings::ShowStatusBar

Definition at line 43 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 45 of file registry.h.

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

◆ SnapToGrid

DWORD RegistrySettings::SnapToGrid

Definition at line 24 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

Definition at line 25 of file registry.h.

Referenced by CMiniatureWindow::DoCreate(), Load(), LoadPresets(), and Store().

◆ ThumbWidth

DWORD RegistrySettings::ThumbWidth

Definition at line 26 of file registry.h.

Referenced by CMiniatureWindow::DoCreate(), Load(), LoadPresets(), and Store().

◆ ThumbXPos

DWORD RegistrySettings::ThumbXPos

Definition at line 27 of file registry.h.

Referenced by CMiniatureWindow::DoCreate(), Load(), LoadPresets(), and Store().

◆ ThumbYPos

DWORD RegistrySettings::ThumbYPos

Definition at line 28 of file registry.h.

Referenced by CMiniatureWindow::DoCreate(), Load(), LoadPresets(), and Store().

◆ Underline

DWORD RegistrySettings::Underline

◆ UnitSetting

DWORD RegistrySettings::UnitSetting

Definition at line 29 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: