added and documented wxKeyEvent::GetUnicodeKey(); made it work for MSW; added test for it to the text sample

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-06-26 13:14:24 +00:00
parent a76342da41
commit 0d9b2c1636
4 changed files with 56 additions and 22 deletions

View File

@@ -112,20 +112,17 @@ All:
- number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten) - number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten)
- fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem) - fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem)
- fixed bug in wxDateTime::Set(jdn) when DST was in effect - fixed bug in wxDateTime::Set(jdn) when DST was in effect
- it's now possible to use msgids in other languages than English with - support msgids in charsets other than C (based on patch by Stefan Kowski)
wxLocale (based on patch by Stefan Kowski)
All (GUI): All (GUI):
- added wxTaskBarIcon::CreatePopupMenu which is now recommended way - added wxTaskBarIcon::CreatePopupMenu which is now recommended way
of showing popup menu; calling wxTaskBarIcon::PopupMenu directly of showing popup menu; calling wxTaskBarIcon::PopupMenu directly
is discouraged is discouraged
- Added ..._CMD_... variants for wxGrid event table entry macros - Added ..._CMD_...(id) variants for wxGrid event table entry macros
taking window identifiers - Added wxWindow::Navigate for programmatic navigation to the next control.
- Added wxWindowBase::Navigate for programmatic navigation to the next - wxTextCtrl::OnChar now inserts a tab character if wxTE_PROCESS_TAB is set
control. - added wxKeyEvent::GetUnicodeKey()
- On most platforms, wxTextCtrl::OnChar now inserts a tab character if
wxTE_PROCESS_TAB is set, or navigates to the next control if not.
Unix: Unix:
@@ -140,11 +137,12 @@ wxGTK:
wxMotif: wxMotif:
- added 3 state checkbox - added support for wxCHK_3STATE style (3 state checkbox)
wxMSW: wxMSW:
- fixed UNC paths handling in wxFileSystem (Daniel Nash) - fixed UNC paths handling in wxFileSystem (Daniel Nash)
- set wxKeyEvent::m_uniChar in Unicode build
wxWinCE: wxWinCE:

View File

@@ -78,66 +78,77 @@ functions that take a wxKeyEvent argument.
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxKeyEvent::m\_altDown} \membersection{wxKeyEvent::m\_altDown}
\member{bool}{m\_altDown} \member{bool}{m\_altDown}
true if the Alt key is pressed down. true if the Alt key is pressed down.
\membersection{wxKeyEvent::m\_controlDown} \membersection{wxKeyEvent::m\_controlDown}
\member{bool}{m\_controlDown} \member{bool}{m\_controlDown}
true if control is pressed down. true if control is pressed down.
\membersection{wxKeyEvent::m\_keyCode} \membersection{wxKeyEvent::m\_keyCode}
\member{long}{m\_keyCode} \member{long}{m\_keyCode}
Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers. Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
\membersection{wxKeyEvent::m\_metaDown} \membersection{wxKeyEvent::m\_metaDown}
\member{bool}{m\_metaDown} \member{bool}{m\_metaDown}
true if the Meta key is pressed down. true if the Meta key is pressed down.
\membersection{wxKeyEvent::m\_shiftDown} \membersection{wxKeyEvent::m\_shiftDown}
\member{bool}{m\_shiftDown} \member{bool}{m\_shiftDown}
true if shift is pressed down. true if shift is pressed down.
\membersection{wxKeyEvent::m\_x} \membersection{wxKeyEvent::m\_x}
\member{int}{m\_x} \member{int}{m\_x}
X position of the event. X position of the event.
\membersection{wxKeyEvent::m\_y} \membersection{wxKeyEvent::m\_y}
\member{int}{m\_y} \member{int}{m\_y}
Y position of the event. Y position of the event.
\membersection{wxKeyEvent::wxKeyEvent} \membersection{wxKeyEvent::wxKeyEvent}
\func{}{wxKeyEvent}{\param{WXTYPE}{ keyEventType}} \func{}{wxKeyEvent}{\param{WXTYPE}{ keyEventType}}
Constructor. Currently, the only valid event types are wxEVT\_CHAR and wxEVT\_CHAR\_HOOK. Constructor. Currently, the only valid event types are wxEVT\_CHAR and wxEVT\_CHAR\_HOOK.
\membersection{wxKeyEvent::AltDown} \membersection{wxKeyEvent::AltDown}
\constfunc{bool}{AltDown}{\void} \constfunc{bool}{AltDown}{\void}
Returns true if the Alt key was down at the time of the key event. Returns true if the Alt key was down at the time of the key event.
\membersection{wxKeyEvent::ControlDown} \membersection{wxKeyEvent::ControlDown}
\constfunc{bool}{ControlDown}{\void} \constfunc{bool}{ControlDown}{\void}
Returns true if the control key was down at the time of the key event. Returns true if the control key was down at the time of the key event.
\membersection{wxKeyEvent::GetKeyCode} \membersection{wxKeyEvent::GetKeyCode}
\constfunc{int}{GetKeyCode}{\void} \constfunc{int}{GetKeyCode}{\void}
@@ -146,6 +157,16 @@ Returns the virtual key code. ASCII events return normal ASCII values,
while non-ASCII events return values such as {\bf WXK\_LEFT} for the while non-ASCII events return values such as {\bf WXK\_LEFT} for the
left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes. left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes.
\membersection{wxKeyEvent::GetPosition}
\constfunc{wxPoint}{GetPosition}{\void}
\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
Obtains the position (in client coordinates) at which the key was pressed.
\membersection{wxKeyEvent::GetRawKeyCode} \membersection{wxKeyEvent::GetRawKeyCode}
\constfunc{wxUint32}{GetRawKeyCode}{\void} \constfunc{wxUint32}{GetRawKeyCode}{\void}
@@ -156,6 +177,7 @@ which should only be used in advanced applications.
{\bf NB:} Currently the raw key codes are not supported by all ports, use {\bf NB:} Currently the raw key codes are not supported by all ports, use
{\tt\#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available. {\tt\#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available.
\membersection{wxKeyEvent::GetRawKeyFlags} \membersection{wxKeyEvent::GetRawKeyFlags}
\constfunc{wxUint32}{GetRawKeyFlags}{\void} \constfunc{wxUint32}{GetRawKeyFlags}{\void}
@@ -166,31 +188,30 @@ platform-dependent and should only be used in advanced applications.
{\bf NB:} Currently the raw key flags are not supported by all ports, use {\bf NB:} Currently the raw key flags are not supported by all ports, use
{\tt \#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available. {\tt \#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available.
\membersection{wxKeyEvent::GetUnicodeKey}
\constfunc{wxChar}{GetUnicodeKey}{\void}
Returns the Unicode character corresponding to this key event.
This function is only available in Unicode build, i.e. when
\texttt{wxUSE\_UNICODE} is $1$.
\membersection{wxKeyEvent::GetX} \membersection{wxKeyEvent::GetX}
\constfunc{long}{GetX}{\void} \constfunc{long}{GetX}{\void}
Returns the X position (in client coordinates) of the event. Returns the X position (in client coordinates) of the event.
\membersection{wxKeyEvent::GetY} \membersection{wxKeyEvent::GetY}
\constfunc{long}{GetY}{\void} \constfunc{long}{GetY}{\void}
Returns the Y (in client coordinates) position of the event. Returns the Y (in client coordinates) position of the event.
\membersection{wxKeyEvent::MetaDown}
\constfunc{bool}{MetaDown}{\void}
Returns true if the Meta key was down at the time of the key event.
\membersection{wxKeyEvent::GetPosition}
\constfunc{wxPoint}{GetPosition}{\void}
\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
Obtains the position (in client coordinates) at which the key was pressed.
\membersection{wxKeyEvent::HasModifiers} \membersection{wxKeyEvent::HasModifiers}
@@ -203,6 +224,14 @@ the latter is that it is common for {\sc NumLock} key to be configured as
{\sc Meta} under X but the key presses even while {\sc NumLock} is on should {\sc Meta} under X but the key presses even while {\sc NumLock} is on should
be still processed normally). be still processed normally).
\membersection{wxKeyEvent::MetaDown}
\constfunc{bool}{MetaDown}{\void}
Returns true if the Meta key was down at the time of the key event.
\membersection{wxKeyEvent::ShiftDown}\label{wxkeyeventshiftdown} \membersection{wxKeyEvent::ShiftDown}\label{wxkeyeventshiftdown}
\constfunc{bool}{ShiftDown}{\void} \constfunc{bool}{ShiftDown}{\void}

View File

@@ -581,6 +581,10 @@ void MyTextCtrl::LogKeyEvent(const wxChar *name, wxKeyEvent& event) const
} }
} }
#if wxUSE_UNICODE
key += wxString::Format(_T(" (Unicode: %#04x)"), event.GetUnicodeKey());
#endif // wxUSE_UNICODE
wxLogMessage( _T("%s event: %s (flags = %c%c%c%c)"), wxLogMessage( _T("%s event: %s (flags = %c%c%c%c)"),
name, name,
key.c_str(), key.c_str(),

View File

@@ -4522,6 +4522,9 @@ wxKeyEvent wxWindowMSW::CreateKeyEvent(wxEventType evType,
event.m_eventObject = (wxWindow *)this; // const_cast event.m_eventObject = (wxWindow *)this; // const_cast
event.m_keyCode = id; event.m_keyCode = id;
#if wxUSE_UNICODE
event.m_uniChar = wParam;
#endif
event.m_rawCode = (wxUint32) wParam; event.m_rawCode = (wxUint32) wParam;
event.m_rawFlags = (wxUint32) lParam; event.m_rawFlags = (wxUint32) lParam;
#ifndef __WXWINCE__ #ifndef __WXWINCE__