From ea9aa80e7c667e2951ac0967da903d2b9ec5e2b6 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sat, 19 Mar 2005 19:51:51 +0000 Subject: [PATCH] Fixed toolbar bitmap bug introduced by deriving wxToolMenuBar from wxToolBar Documented PPC installation git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/wxmsw.tex | 17 +++++++++++++++++ include/wx/msw/wince/tbarwce.h | 3 +++ src/msw/wince/tbarwce.cpp | 23 ++++++++++++++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/latex/wx/wxmsw.tex b/docs/latex/wx/wxmsw.tex index d936a5733e..ee801cd08c 100644 --- a/docs/latex/wx/wxmsw.tex +++ b/docs/latex/wx/wxmsw.tex @@ -260,8 +260,23 @@ Here are some links that may help. \item Miscellaneous Windows CE resources can be found at \urlref{http://www.orbworks.com/pcce/resources.html}{http://www.orbworks.com/pcce/resources.html}. \item Installer creation instructions with a setup.exe for installing to PPC can be found at \urlref{http://www.pocketpcdn.com/articles/creatingsetup.html}{http://www.pocketpcdn.com/articles/creatingsetup.html}. \item Microsoft instructions are at \urlref{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnce30/html/appinstall30.asp?frame=true&hidetoc=true}{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnce30/html/appinstall30.asp?frame=true&hidetoc=true}. +\item Troubleshooting WinCE application installations: \urlref{http://support.microsoft.com/default.aspx?scid=KB;en-us;q181007}{http://support.microsoft.com/default.aspx?scid=KB;en-us;q181007} \end{itemize} +You may also check out {\tt demos/life/setup/wince} which contains +scripts to create a PocketPC installation for ARM-based +devices. In particular, {\tt build.bat} builds the distribution and +copies it to a directory called {\tt Deliver}. + +\subsubsection{wxFileDialog in PocketPC} + +Allowing the user to access files on memory cards, or on arbitrary +parts of the filesystem, is a pain; the standard file dialog only +shows folders under My Documents or folders on memory cards +(not the system or card root directory, for example). This is +a known problem for PocketPC developers, and a wxFileDialog +replacement will need to be written. + \subsubsection{Remaining issues} These are some of the remaining problems to be sorted out, and features @@ -290,6 +305,8 @@ missing styles are implemented with WM\_PAINT. \item {\bf wxCheckListBox.} This class needs to be implemented in terms of a wxListCtrl in report mode, using icons for checkbox states. This is necessary because owner-draw listboxes are not supported on Windows CE. +\item {\bf wxFileDialog.} A more flexible dialog needs to be written (probably using wxGenericFileDialog) +that can access arbitrary locations. \item {\bf OK button.} We should allow the OK button on a dialog to be optional, perhaps by using wxCLOSE\_BOX to indicate when the OK button should be displayed. \item {\bf Dynamic adaptation.} We should probably be using run-time tests more diff --git a/include/wx/msw/wince/tbarwce.h b/include/wx/msw/wince/tbarwce.h index bcf66439ca..d9fefa88cc 100644 --- a/include/wx/msw/wince/tbarwce.h +++ b/include/wx/msw/wince/tbarwce.h @@ -116,6 +116,9 @@ public: // implementation only from now on // ------------------------------- + // Override in order to bypass wxToolBar's overridden function + virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); + virtual bool MSWCommand(WXUINT param, WXWORD id); // Return HMENU for the menu associated with the commandbar diff --git a/src/msw/wince/tbarwce.cpp b/src/msw/wince/tbarwce.cpp index 33f429e306..5161b4806f 100644 --- a/src/msw/wince/tbarwce.cpp +++ b/src/msw/wince/tbarwce.cpp @@ -355,7 +355,7 @@ bool wxToolMenuBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool) return true; } -bool wxToolMenuBar::Realize() +bool wxToolMenuBar:Realize() { const size_t nTools = GetToolsCount(); if ( nTools == 0 ) @@ -527,6 +527,27 @@ bool wxToolMenuBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id) return true; } +WXLRESULT wxToolMenuBar::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) +{ + switch ( nMsg ) + { + case WM_SIZE: + break; + + case WM_MOUSEMOVE: + // we don't handle mouse moves, so always pass the message to + // wxControl::MSWWindowProc + HandleMouseMove(wParam, lParam); + break; + + case WM_PAINT: + break; + } + + return wxControl::MSWWindowProc(nMsg, wParam, lParam); +} + + #else ////////////// For Smartphone