\section{\class{wxRegKey}}\label{wxregkey}
-wxRegKey is a class representing the Windows Registry.
+wxRegKey is a class representing the Windows registry (it is only available
+under Windows). One can create, query and delete registry keys using this
+class.
+
+The Windows registry is easy to understand. There are five registry keys,
+namely:
+
+\begin{enumerate}\itemsep=0pt
+\item HKEY\_CLASSES\_ROOT (HKCR)
+\item HKEY\_CURRENT\_USER (HKCU)
+\item HKEY\_LOCAL\_MACHINE (HKLM)
+\item HKEY\_CURRENT\_CONFIG (HKCC)
+\item HKEY\_USERS (HKU)
+\end{enumerate}
+
+After creating a key, it can hold a value. The values can be:
+
+\begin{enumerate}\itemsep=0pt
+\item String Value
+\item Binary Value
+\item DWORD Value
+\item Multi String Value
+\item Expandable String Value
+\end{enumerate}
-One can Create, Query and Delete Registry Keys using this class.
+\wxheading{Derived from}
-Windows Registry is easy to understand. There are 5 Registry Keys namely,
+None
-\twocolwidtha{7cm}
-\begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf 1)}}{HKEY\_CLASSES\_ROOT (HKCR)}
-\twocolitem{{\bf 2)}}{HKEY\_CURRENT\_USER (HKCU)}
-\twocolitem{{\bf 3)}}{HKEY\_LOCAL\_MACHINE (HKLM)}
-\twocolitem{{\bf 4)}}{HKEY\_CURRENT\_CONFIG (HKCC)}
-\twocolitem{{\bf 5)}}{HKEY\_USERS (HKU)}
-\end{twocollist}
+\wxheading{Include files}
-After creating a Key , it can hold a Value. The Values can be ,
+<wx/msw/registry.h>
-\twocolwidtha{7cm}
-\begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf 1)}}{String Value}
-\twocolitem{{\bf 2)}}{Binary Value}
-\twocolitem{{\bf 3)}}{DWORD Value}
-\twocolitem{{\bf 4)}}{Multi String Value}
-\twocolitem{{\bf 5)}}{Expandable String Value}
-\end{twocollist}
+\wxheading{Example}
-Example:
\begin{verbatim}
wxRegKey *pRegKey = new wxRegKey("HKEY_LOCAL_MACHINE\\Software\\MyKey");
}
\end{verbatim}
-\wxheading{Derived from}
-None
+\latexignore{\rtfignore{\wxheading{Members}}}
-\wxheading{Include files}
-<wx/config.h>
-\membersection{wxRegKey::wxRegKey}\label{wxregkeyregkey}
+\membersection{wxRegKey::wxRegKey}\label{wxregkeyctor}
\func{}{wxRegKey}{\void}
The Constructor to set to HKCR
-\func{}{wxRegKey}{\param{const wxString\&}{strKey}}
+\func{}{wxRegKey}{\param{const wxString\&}{ strKey}}
The constructor to set the full name of the key.
-\func{}{wxRegKey}{\param{const wxRegKey\&}{keyParent}\param{const wxString\&}{strKey}}
+\func{}{wxRegKey}{\param{const wxRegKey\&}{ keyParent}, \param{const wxString\&}{ strKey}}
-The constructor to set the full name of the key under previously created keyParent.
+The constructor to set the full name of the key under a previously created parent.
\membersection{wxRegKey::Close}\label{wxregkeyclose}
\func{void}{Close}{\void}
-Close the Key
+Closes the key.
\membersection{wxRegKey::Create}\label{wxregkeycreate}
-\func{bool}{Create}{\param{bool }{bOkIfExists = TRUE}}
+\func{bool}{Create}{\param{bool }{bOkIfExists = true}}
-Create the Key,Will fail if the Key already exists and !bOkIfExists
+Creates the key. Will fail if the key already exists and {\it bOkIfExists} is false.
\membersection{wxRegKey::DeleteSelf}\label{wxregkeydeleteself}
\func{void}{DeleteSelf}{\void}
-Deletes this Key and all of it's subkeys/values recursively
+Deletes this key and all of its subkeys and values recursively.
\membersection{wxRegKey::DeleteKey}\label{wxregkeydeletekey}
\func{void}{DeleteKey}{\param{const wxChar *}{szKey}}
-Deletes the subkey with all of it's subkeys/values recursively
+Deletes the subkey with all of its subkeys/values recursively.
\membersection{wxRegKey::DeleteValue}\label{wxregkeydeletevalue}
\func{void}{DeleteValue}{\param{const wxChar *}{szKey}}
-Deletes the named value
+Deletes the named value.
\membersection{wxRegKey::Exists}\label{wxregkeyexists}
\constfunc{static bool}{Exists}{\void}
-Return True if the Key Exists
+Returns true if the key exists.
\membersection{wxRegKey::GetName}\label{wxregkeygetname}
-\constfunc{wxString}{GetName}{\param{bool }{bShortPrefix = TRUE}}
+\constfunc{wxString}{GetName}{\param{bool }{bShortPrefix = true}}
-Get the name of the Registry Key
+Gets the name of the registry key.
\membersection{wxRegKey::GetFirstKey}\label{wxregkeygetfirstkey}
-\func{bool}{GetKeyValue}{\param{wxString\&}{strKeyName}, \param{long\&}{lIndex}}
+\func{bool}{GetKeyValue}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
-Get the First Key
+Gets the first key.
\membersection{wxRegKey::GetFirstValue}\label{wxregkeygetfirstvalue}
-\func{bool}{GetFirstValue}{\param{wxString\&}{strValueName}, \param{long\&}{lIndex}}
+\func{bool}{GetFirstValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
-Get the First Value of this Key
+Gets the first value of this key.
\membersection{wxRegKey::GetKeyInfo}\label{wxregkeygetkeyinfo}
\constfunc{bool}{Exists}{\param{size\_t *}{pnSubKeys}, \param{size\_t *}{pnValues}, \param{size\_t *}{pnMaxValueLen}}
-Get the info about the key
+Gets information about the key.
-\docparam{pnSubKeys}{Number of SubKeys}
-\docparam{pnMaxKeyLen}{Max length of SubKey name}
-\docparam{pnValues}{Number of Values}
+\wxheading{Parameters}
+
+\docparam{pnSubKeys}{The number of subkeys.}
+
+\docparam{pnMaxKeyLen}{The maximum length of the subkey name.}
+
+\docparam{pnValues}{The number of values.}
\membersection{wxRegKey::GetNextKey}\label{wxregkeygetnextkey}
-\constfunc{bool}{GetNextKey}{\param{wxString\&}{strKeyName}, \param{long\&}{lIndex}}
+\constfunc{bool}{GetNextKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
-Get the next Key of this Key
+Gets the next key.
\membersection{wxRegKey::GetNextValue}\label{wxregkeygetnextvalue}
-\constfunc{bool}{GetNextValue}{\param{wxString\&}{strValueName}, \param{long\&}{lIndex}}
+\constfunc{bool}{GetNextValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
-Get the Next Key Value of this Key
+Gets the next key value for this key.
\membersection{wxRegKey::HasValue}\label{wxregkeyhasvalue}
\constfunc{bool}{HasValue}{\param{const wxChar *}{szValue}}
-Return true if the value exists
+Returns true if the value exists.
\membersection{wxRegKey::HasValues}\label{wxregkeyhasvalues}
\constfunc{bool}{HasValues}{\void}
-Return true if any values exist
+Returns true if any values exist.
\membersection{wxRegKey::HasSubKey}\label{wxregkeyhassubkey}
\constfunc{bool}{HasSubKey}{\param{const wxChar *}{szKey}}
-Return true if given subkey exists
+Returns true if given subkey exists.
\membersection{wxRegKey::HasSubKeys}\label{wxregkeyhassubkeys}
\constfunc{bool}{HasSubKeys}{\void}
-Return true if any subkeys exist
+Returns true if any subkeys exist.
\membersection{wxRegKey::IsEmpty}\label{wxregkeyisempty}
\constfunc{bool}{IsEmpty}{\void}
-Return true if this Key is Empty, nothing under this key.
+Returns true if this key is empty, nothing under this key.
\membersection{wxRegKey::IsOpened}\label{wxregkeyisopened}
\constfunc{bool}{IsOpened}{\void}
-Return true if the Key is Opened
+Returns true if the key is opened.
\membersection{wxRegKey::Open}\label{wxregkeyopen}
-\func{bool}{Open}{\void}
+\func{bool}{Open}{\param{AccessMode }{mode = Write}}
-Explicitly open the key to be opened.
+Explicitly opens the key. This method also allows the key to be opened in
+read-only mode by passing \texttt{wxRegKey::Read} instead of default
+\texttt{wxRegKey::Write} parameter.
\membersection{wxRegKey::QueryValue}\label{wxregkeyqueryvalue}
-\constfunc{bool}{QueryValue}{\param{const wxChar *}{szValue}, \param{wxString\&}{strValue}}
+\constfunc{bool}{QueryValue}{\param{const wxChar *}{szValue}, \param{wxString\&}{ strValue}}
-Retrieve the String Value
+Retrieves the string value.
\constfunc{bool}{QueryValue}{\param{const wxChar *}{szValue}, \param{long *}{plValue}}
-Retrive the Numeric Value
+Retrieves the numeric value.
\membersection{wxRegKey::Rename}\label{wxregkeyrename}
\func{bool}{Rename}{\param{const wxChar *}{ szNewName}}
-Rename the Key
+Renames the key.
\membersection{wxRegKey::RenameValue}\label{wxregkeyrenamevalue}
\func{bool}{RenameValue}{\param{const wxChar *}{szValueOld}, \param{const wxChar *}{szValueNew}}
-Rename a Value from Old to New
+Renames a value.
\membersection{wxRegKey::SetValue}\label{wxregkeysetvalue}
-\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{long}{lValue}}
+\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{long}{ lValue}}
+
+\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxString\&}{ strValue}}
+
+\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxMemoryBuffer\&}{ buf}}
+
+Sets the given \arg{szValue} which must be numeric, string or binary depending
+on the overload used. If the value doesn't exist, it is created.
-Set the Numeric Value