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

View File

@ -78,66 +78,77 @@ functions that take a wxKeyEvent argument.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxKeyEvent::m\_altDown}
\member{bool}{m\_altDown}
true if the Alt key is pressed down.
\membersection{wxKeyEvent::m\_controlDown}
\member{bool}{m\_controlDown}
true if control is pressed down.
\membersection{wxKeyEvent::m\_keyCode}
\member{long}{m\_keyCode}
Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
\membersection{wxKeyEvent::m\_metaDown}
\member{bool}{m\_metaDown}
true if the Meta key is pressed down.
\membersection{wxKeyEvent::m\_shiftDown}
\member{bool}{m\_shiftDown}
true if shift is pressed down.
\membersection{wxKeyEvent::m\_x}
\member{int}{m\_x}
X position of the event.
\membersection{wxKeyEvent::m\_y}
\member{int}{m\_y}
Y position of the event.
\membersection{wxKeyEvent::wxKeyEvent}
\func{}{wxKeyEvent}{\param{WXTYPE}{ keyEventType}}
Constructor. Currently, the only valid event types are wxEVT\_CHAR and wxEVT\_CHAR\_HOOK.
\membersection{wxKeyEvent::AltDown}
\constfunc{bool}{AltDown}{\void}
Returns true if the Alt key was down at the time of the key event.
\membersection{wxKeyEvent::ControlDown}
\constfunc{bool}{ControlDown}{\void}
Returns true if the control key was down at the time of the key event.
\membersection{wxKeyEvent::GetKeyCode}
\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
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}
\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
{\tt\#ifdef wxHAS\_RAW\_KEY\_CODES} to determine if this feature is available.
\membersection{wxKeyEvent::GetRawKeyFlags}
\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
{\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}
\constfunc{long}{GetX}{\void}
Returns the X position (in client coordinates) of the event.
\membersection{wxKeyEvent::GetY}
\constfunc{long}{GetY}{\void}
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}
@ -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
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}
\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)"),
name,
key.c_str(),

View File

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