Added WXK_SPECIAL... keycodes for special hardware buttons

Made (Un)RegisterHotKey WinCE-aware.
Added wxEVT_HIBERNATE event.
Now fakes wxEVT_ACTIVATE_APP to be symmetrical with wxEVT_HIBERNATE.
Added wxTE_CAPITALIZE for CAPEDIT controls.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2005-03-18 14:26:57 +00:00
parent 87a39e3b55
commit afafd942a1
14 changed files with 206 additions and 14 deletions

View File

@@ -21,6 +21,10 @@ function that takes a wxActivateEvent argument.
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_ACTIVATE(func)}}{Process a wxEVT\_ACTIVATE event.}
\twocolitem{{\bf EVT\_ACTIVATE\_APP(func)}}{Process a wxEVT\_ACTIVATE\_APP event.}
\twocolitem{{\bf EVT\_HIBERNATE(func)}}{Process a hibernate event, supplying the member function.
This event applies to wxApp only, and only on Windows SmartPhone and PocketPC. It is generated when the
system is low on memory; the application should free up as much memory as possible, and restore
full working when it receives a wxEVT\_ACTIVATE or wxEVT\_ACTIVATE\_APP event.}
\end{twocollist}%
\wxheading{Remarks}
@@ -33,8 +37,7 @@ An application is activated or deactivated when one of its frames becomes activa
or a frame becomes inactivate resulting in all application frames being inactive. (Windows only)
Please note that usually you should call \helpref{event.Skip()}{wxeventskip} in
your handlers for these events as not doing so can result in strange effects,
especially on Mac platform.
your handlers for these events as not doing so can result in strange effects.
\wxheading{See also}

View File

@@ -113,7 +113,30 @@ values are the ASCII character codes, plus the following:
// the following key codes are only generated under Windows currently
WXK_WINDOWS_LEFT,
WXK_WINDOWS_RIGHT,
WXK_WINDOWS_MENU
WXK_WINDOWS_MENU,
WXK_COMMAND,
// Hardware-specific buttons
WXK_SPECIAL1 = 193,
WXK_SPECIAL2,
WXK_SPECIAL3,
WXK_SPECIAL4,
WXK_SPECIAL5,
WXK_SPECIAL6,
WXK_SPECIAL7,
WXK_SPECIAL8,
WXK_SPECIAL9,
WXK_SPECIAL10,
WXK_SPECIAL11,
WXK_SPECIAL12,
WXK_SPECIAL13,
WXK_SPECIAL14,
WXK_SPECIAL15,
WXK_SPECIAL16,
WXK_SPECIAL17,
WXK_SPECIAL18,
WXK_SPECIAL19,
WXK_SPECIAL20
\end{verbatim}
}

View File

@@ -2280,7 +2280,8 @@ hotkey with this modifier/virtualKeyCode combination.
\wxheading{Remarks}
Use EVT\_HOTKEY(hotkeyId, fnc) in the event table to capture the event.
This function is currently only implemented under MSW.
This function is currently only implemented under Windows. It is used
in the \helpref{Windows CE port}{wxwince} for detecting hardware button presses.
\wxheading{See also}

View File

@@ -102,6 +102,37 @@ according to the orientation, which you could detect in idle time, for example).
However, if the input panel (SIP) is shown, windows do not yet resize accordingly. This will
be implemented soon.
\subsubsection{Closing top-level windows in wxWinCE}
You won't get a wxCloseEvent when the user clicks on the X in the titlebar
on Smartphone and PocketPC; the window is simply hidden instead. However the system may send the
event to force the application to close down.
\subsubsection{Hibernation in wxWinCE}
Smartphone and PocketPC will send a wxEVT\_HIBERNATE to the application object in low
memory conditions. Your application should release memory and close dialogs,
and wake up again when the next wxEVT\_ACTIVATE or wxEVT\_ACTIVATE\_APP message is received.
(wxEVT\_ACTIVATE\_APP is generated whenever a wxEVT\_ACTIVATE event is received
in Smartphone and PocketPC, since these platforms do not support WM\_ACTIVATEAPP.)
\subsubsection{Hardware buttons in wxWinCE}
Special hardware buttons are sent to a window via the wxEVT\_HOTKEY event
under Smartphone and PocketPC. You should first register each required button with \helpref{wxWindow::RegisterHotKey}{wxwindowregisterhotkey},
and unregister the button when you're done with it. For example:
\begin{verbatim}
win->RegisterHotKey(0, wxMOD_WIN, WXK_SPECIAL1);
win->UnregisterHotKey(0);
\end{verbatim}
You may have to register the buttons in a wxEVT_ACTIVATE event handler
since other applications will grab the buttons.
There is currently no method of finding out the names of the special
buttons or how many there are.
\subsubsection{Dialogs in wxWinCE}
PocketPC dialogs have an OK button on the caption, and so you should generally
@@ -210,9 +241,6 @@ needs to be simplified (and speeded up).
layout seems slow. Some analysis is required.
\item {\bf Notification boxes.} The balloon-like notification messages, and their
icons, should be implemented. This will be quite straightforward.
\item {\bf WM\_SETTINGCHANGE.} This message needs to be handled by calling SHHandleWMSettingChange.
\item {\bf WM\_ACTIVATE.} This message needs to be handled by calling SHHandleWMActivate.
\item {\bf WM\_HIBERNATE.} We need to handle this message.
\item {\bf SIP size.} We need to be able to get the area taken up by the SIP (input panel),
and the remaining area, by calling SHSipInfo. We also may need to be able to show and hide
the SIP programmatically, with SHSipPreference. See also the {\it Input Dialogs} topic in