Some WinCE fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
fc10daf37c
commit
7f0586ef60
@ -20,6 +20,10 @@
|
||||
|
||||
#include <stddef.h> // for ptrdiff_t
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
typedef int ptrdiff_t;
|
||||
#endif
|
||||
|
||||
// private
|
||||
struct WXDLLIMPEXP_BASE _wxHashTable_NodeBase
|
||||
{
|
||||
@ -70,7 +74,11 @@ protected:
|
||||
|
||||
static void** AllocTable( size_t sz )
|
||||
{
|
||||
#ifdef __WXWINCE__
|
||||
return (void **)malloc(sz * sizeof(void*));
|
||||
#else
|
||||
return (void **)calloc(sz, sizeof(void*));
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -80,7 +80,7 @@ WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT;
|
||||
// define things missing from some compilers' headers
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#if defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS
|
||||
#if defined(__WXWINCE__) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS)
|
||||
#ifndef ZeroMemory
|
||||
inline void ZeroMemory(void *buf, size_t len) { memset(buf, 0, len); }
|
||||
#endif
|
||||
@ -88,9 +88,7 @@ WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT;
|
||||
|
||||
// this defines a CASTWNDPROC macro which casts a pointer to the type of a
|
||||
// window proc
|
||||
#if defined(__WXWINCE__)
|
||||
typedef FARPROC WndProcCast;
|
||||
#elif defined(STRICT) || defined(__GNUC__)
|
||||
#if defined(STRICT) || defined(__GNUC__)
|
||||
typedef WNDPROC WndProcCast;
|
||||
#else
|
||||
typedef FARPROC WndProcCast;
|
||||
@ -402,6 +400,7 @@ private:
|
||||
DECLARE_NO_COPY_CLASS(SelectInHDC)
|
||||
};
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
// when working with global pointers (which is unfortunately still necessary
|
||||
// sometimes, e.g. for clipboard) it is important to unlock them exactly as
|
||||
// many times as we lock them which just asks for using a "smart lock" class
|
||||
@ -440,6 +439,7 @@ private:
|
||||
|
||||
DECLARE_NO_COPY_CLASS(GlobalPtr)
|
||||
};
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// macros to make casting between WXFOO and FOO a bit easier: the GetFoo()
|
||||
|
@ -12,8 +12,16 @@
|
||||
#ifndef _WX_CE_MISSING_H_
|
||||
#define _WX_CE_MISSING_H_
|
||||
|
||||
BOOL IsIconic( HWND hWnd )
|
||||
{
|
||||
// Probably not right...
|
||||
#if 0
|
||||
long style = GetWindowLong(hWnd, GWL_STYLE);
|
||||
return ((style & WS_MINIMIZE) == 0);
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#include "wx/msw/private.h"
|
||||
|
||||
/*
|
||||
Most of these are in MSVC++6.0 <wx\wince\winuser.h>
|
||||
@ -21,6 +29,13 @@ see also <wx\msw\gnuwin32\winresrc.h>
|
||||
*/
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
// JACS: I've commented these out in order to start from
|
||||
// scratch. I don't think we should simply add styles,
|
||||
// classes etc. when we don't know if they're supported
|
||||
// by WinCE libraries.
|
||||
|
||||
#if 0
|
||||
|
||||
/*
|
||||
* Extended Window Styles
|
||||
*/
|
||||
@ -134,6 +149,8 @@ CallWindowProcW(
|
||||
#define CallWindowProc CallWindowProcA
|
||||
#endif // !UNICODE
|
||||
|
||||
#endif
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
#endif // _WX_CE_MISSING_H_
|
||||
|
@ -1,13 +1,13 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msw/wince/setup.h
|
||||
// Name: wx/msw/setup.h
|
||||
// Purpose: Configuration for the library
|
||||
// Author: Marco Cavallini
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 08/11/2002
|
||||
// RCS-ID:
|
||||
// Copyright: (c) KOAN SAS ( www.koansoftware.com )
|
||||
// Created: 01/02/97
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_SETUP_H_
|
||||
#define _WX_SETUP_H_
|
||||
@ -44,26 +44,23 @@
|
||||
// Recommended setting: 0 (please update your code instead!)
|
||||
#define WXWIN_COMPATIBILITY_2 0
|
||||
|
||||
// This setting determines the compatibility with 2.0 API: set it to 1 to
|
||||
// enable it
|
||||
// This setting determines the compatibility with 2.2 API: set it to 1 to
|
||||
// enable it but please consider updating your code instead.
|
||||
//
|
||||
// Default is 1.
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0 (please update your code instead!)
|
||||
// Recommended setting: 0 (please update your code)
|
||||
#define WXWIN_COMPATIBILITY_2_2 1
|
||||
|
||||
// in wxMSW version 2.1.11 and earlier, wxIcon always derives from wxBitmap,
|
||||
// but this is very dangerous because you can mistakenly pass an icon instead
|
||||
// of a bitmap to a function taking "const wxBitmap&" - which will *not* work
|
||||
// because an icon is not a valid bitmap
|
||||
// This setting determines the compatibility with 2.4 API: set it to 0 to
|
||||
// flag all cases of using deprecated functions.
|
||||
//
|
||||
// Starting from 2.1.12, you have the choice under this backwards compatible
|
||||
// behaviour (your code will still compile, but probably won't behave as
|
||||
// expected!) and not deriving wxIcon class from wxBitmap, but providing a
|
||||
// conversion ctor wxBitmap(const wxIcon&) instead.
|
||||
// Default is 1 but please try building your code with 0 as the default will
|
||||
// change to 0 in the next version and the deprecated functions will disappear
|
||||
// in the version after it completely.
|
||||
//
|
||||
// Recommended setting: 0
|
||||
#define wxICON_IS_BITMAP 0
|
||||
// Recommended setting: 0 (please update your code)
|
||||
#define WXWIN_COMPATIBILITY_2_4 1
|
||||
|
||||
// Define as 1 for font size to be backward compatible to 1.63 and earlier.
|
||||
// 1.64 and later define point sizes to be compatible with Windows.
|
||||
@ -161,29 +158,31 @@
|
||||
// defined as wchar_t, wxString will use Unicode internally. If you set this
|
||||
// to 1, you must use wxT() macro for all literal strings in the program.
|
||||
//
|
||||
// Unicode is currently only fully supported under Windows NT/2000/XP (Windows 9x
|
||||
// doesn't support it and the programs compiled in Unicode mode will not run
|
||||
// under 9x).
|
||||
// Unicode is currently only fully supported under Windows NT/2000/XP
|
||||
// (Windows 9x doesn't support it and the programs compiled in Unicode mode
|
||||
// will not run under 9x -- but see wxUSE_UNICODE_MSLU below).
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0 (unless you only plan to use Windows NT/2000/XP)
|
||||
#define wxUSE_UNICODE 0
|
||||
#ifndef wxUSE_UNICODE
|
||||
#define wxUSE_UNICODE 0
|
||||
#endif
|
||||
|
||||
// Set wxUSE_UNICODE_MSLU to 1 if you want to compile wxWindows in Unicode mode
|
||||
// and be able to run compiled apps under Windows 9x as well as NT/2000/XP. This
|
||||
// setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
|
||||
// http://www.microsoft.com/globaldev/Articles/mslu_announce.asp). Note that you
|
||||
// will have to modify the makefiles to include unicows.lib import library as the first
|
||||
// library (if you use MSVC, you can run the makefile with "nmake MSLU=1 UNICODE=1"
|
||||
// command).
|
||||
// and be able to run compiled apps under Windows 9x as well as NT/2000/XP.
|
||||
// This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see
|
||||
// http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note that
|
||||
// you will have to modify the makefiles to include unicows.lib import library
|
||||
// as the first library (if you use MSVC, you can run the makefile with "nmake
|
||||
// MSLU=1 UNICODE=1" command).
|
||||
//
|
||||
// If your compiler doesn't have unicows.lib, you can get a version of it at
|
||||
// http://libunicows.sourceforge.net
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0
|
||||
// Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems)
|
||||
#define wxUSE_UNICODE_MSLU 0
|
||||
|
||||
// Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without
|
||||
@ -200,6 +199,15 @@
|
||||
// global features
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Set wxUSE_STL to 1 to derive wxList(Foo) and wxArray(Foo) from
|
||||
// std::list<Foo*> and std::vector<Foo*>, with a compatibility interface,
|
||||
// and for wxHashMap to be implemented with templates.
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: YMMV
|
||||
#define wxUSE_STL 0
|
||||
|
||||
// Support for message/error logging. This includes wxLogXXX() functions and
|
||||
// wxLog and derived classes. Don't set this to 0 unless you really know what
|
||||
// you are doing.
|
||||
@ -209,13 +217,6 @@
|
||||
// Recommended setting: 1 (always)
|
||||
#define wxUSE_LOG 1
|
||||
|
||||
// Support for command line parsing using wxCmdLineParser class.
|
||||
//
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1 (can be set to 0 if you don't use the cmd line)
|
||||
#define wxUSE_CMDLINE_PARSER 1
|
||||
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_LOGWINDOW 1
|
||||
|
||||
@ -225,6 +226,13 @@
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_LOG_DIALOG 1
|
||||
|
||||
// Support for command line parsing using wxCmdLineParser class.
|
||||
//
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1 (can be set to 0 if you don't use the cmd line)
|
||||
#define wxUSE_CMDLINE_PARSER 1
|
||||
|
||||
// Support for multithreaded applications: if 1, compile in thread classes
|
||||
// (thread.h) and make the library a bit more thread safe. Although thread
|
||||
// support is quite stable by now, you may still consider recompiling the
|
||||
@ -305,15 +313,6 @@
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_DATETIME 1
|
||||
|
||||
// wxUSE_TIMEDATE enables compilation of the old wxDate and wxTime classes (not
|
||||
// the same as wxDateTime!). These classes are obsolete and shouldn't be used
|
||||
// in new code
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0 unless you have legacy code which uses these classes
|
||||
#define wxUSE_TIMEDATE 0
|
||||
|
||||
// Set wxUSE_TIMER to 1 to compile wxTimer class
|
||||
//
|
||||
// Default is 1
|
||||
@ -555,23 +554,13 @@
|
||||
// Recommended setting: 0 (use wxNotebook)
|
||||
#define wxUSE_TAB_DIALOG 0
|
||||
|
||||
// wxGrid class comes in two flavours: the original (pre wxWin 2.2) one and
|
||||
// the new, much imporved and enhanced version. The new version is backwards
|
||||
// compatible with the old one and should be used whenever possible, i.e. if
|
||||
// you set wxUSE_GRID to 1, set wxUSE_NEW_GRID to 1 too.
|
||||
// wxGrid class
|
||||
//
|
||||
// Default is 1 for both options.
|
||||
//
|
||||
// Recommended setting: 1 for wxUSE_NEW_GRID, 0 if you have an old code using
|
||||
// wxGrid and 100% backwards compatibality (with all old wxGrid quirks) is
|
||||
// essential.
|
||||
// Recommended setting: 1
|
||||
//
|
||||
// WIN16/BC++ resets wxUSE_NEW_GRID to 0 because it exceeds the data limit.
|
||||
#define wxUSE_GRID 1
|
||||
#define wxUSE_NEW_GRID 1
|
||||
|
||||
// wxProperty[Value/Form/List] classes, used by Dialog Editor
|
||||
#define wxUSE_PROPSHEET 1
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Miscellaneous GUI stuff
|
||||
@ -580,6 +569,9 @@
|
||||
// wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar)
|
||||
#define wxUSE_ACCEL 1
|
||||
|
||||
// Hotkey support (currently Windows only)
|
||||
#define wxUSE_HOTKEY 1
|
||||
|
||||
// Use wxCaret: a class implementing a "cursor" in a text control (called caret
|
||||
// under Windows).
|
||||
//
|
||||
@ -588,6 +580,14 @@
|
||||
// Recommended setting: 1 (can be safely set to 0, not used by the library)
|
||||
#define wxUSE_CARET 1
|
||||
|
||||
// Use wxDisplay class: it allows enumerating all displays on a system and
|
||||
// working with them.
|
||||
//
|
||||
// Default is 0 because it isn't yet implemented on all platforms
|
||||
//
|
||||
// Recommended setting: 1 if you need it, can be safely set to 0 otherwise
|
||||
#define wxUSE_DISPLAY 0
|
||||
|
||||
// Miscellaneous geometry code: needed for Canvas library
|
||||
#define wxUSE_GEOMETRY 1
|
||||
|
||||
@ -626,7 +626,7 @@
|
||||
// Default is 1.
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_TOOLTIPS 1
|
||||
#define wxUSE_TOOLTIPS 0
|
||||
|
||||
// wxValidator class and related methods
|
||||
#define wxUSE_VALIDATORS 1
|
||||
@ -634,6 +634,10 @@
|
||||
// wxDC cacheing implementation
|
||||
#define wxUSE_DC_CACHEING 1
|
||||
|
||||
// Set this to 1 to enable the use of DIB's for wxBitmap to support
|
||||
// bitmaps > 16MB on Win95/98/Me. Set to 0 to use DDB's only.
|
||||
#define wxUSE_DIB_FOR_BITMAP 0
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// common dialogs
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -768,12 +772,17 @@
|
||||
// smaller library.
|
||||
#define wxUSE_HTML 1
|
||||
|
||||
// OpenGL canvas
|
||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||
// set to 1. Note that for some compilers (notably Microsoft Visual C++) you
|
||||
// will need to manually add opengl32.lib and glu32.lib to the list of
|
||||
// libraries linked with your program if you use OpenGL.
|
||||
//
|
||||
// Default is 0.
|
||||
//
|
||||
// Recommended setting: 1 if you intend to use OpenGL, 0 otherwise
|
||||
#define wxUSE_GLCANVAS 0
|
||||
|
||||
// wxTreeLayout class
|
||||
#define wxUSE_TREELAYOUT 1
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Data transfer
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -797,10 +806,18 @@
|
||||
// different from "built in" drag and drop in wxTreeCtrl which is always
|
||||
// available). Requires wxUSE_DATAOBJ.
|
||||
//
|
||||
// Default is 1.
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_DRAG_AND_DROP 1
|
||||
|
||||
// Use wxAccessible for enhanced and customisable accessibility.
|
||||
// Depends on wxUSE_OLE.
|
||||
//
|
||||
// Default is 0.
|
||||
//
|
||||
// Recommended WinCE setting: 0
|
||||
#define wxUSE_DRAG_AND_DROP 0
|
||||
// Recommended setting (at present): 0
|
||||
#define wxUSE_ACCESSIBILITY 0
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// miscellaneous settings
|
||||
@ -819,13 +836,13 @@
|
||||
|
||||
#define wxUSE_IPC 1
|
||||
// 0 for no interprocess comms
|
||||
#define wxUSE_HELP 1
|
||||
#define wxUSE_HELP 0
|
||||
// 0 for no help facility
|
||||
#define wxUSE_MS_HTML_HELP 1
|
||||
// 0 for no MS HTML Help
|
||||
|
||||
// Use wxHTML-based help controller?
|
||||
#define wxUSE_WXHTML_HELP 1
|
||||
#define wxUSE_WXHTML_HELP 0
|
||||
|
||||
#define wxUSE_RESOURCES 1
|
||||
// 0 for no wxGetResource/wxWriteResource
|
||||
@ -835,23 +852,6 @@
|
||||
#define wxUSE_SPLINES 1
|
||||
// 0 for no splines
|
||||
|
||||
#define wxUSE_XPM_IN_MSW 1
|
||||
// 0 for no XPM support in wxBitmap.
|
||||
// Default is 1, as XPM is now fully
|
||||
// supported this makes easier the issue
|
||||
// of portable icons and bitmaps.
|
||||
|
||||
#define wxUSE_IMAGE_LOADING_IN_MSW 1
|
||||
// Use dynamic DIB loading/saving code in utils/dib under MSW.
|
||||
#define wxUSE_RESOURCE_LOADING_IN_MSW 1
|
||||
// Use dynamic icon/cursor loading/saving code
|
||||
// under MSW.
|
||||
// use wxExpr (a.k.a. PrologIO)
|
||||
#define wxUSE_PROLOGIO 0
|
||||
|
||||
#define wxUSE_WX_RESOURCES 0
|
||||
// Use .wxr resource mechanism (requires PrologIO library)
|
||||
|
||||
#define wxUSE_MOUSEWHEEL 1
|
||||
// Include mouse wheel support
|
||||
|
||||
@ -874,7 +874,7 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Define 1 to use ODBC classes
|
||||
#define wxUSE_ODBC 1
|
||||
#define wxUSE_ODBC 0
|
||||
|
||||
// For backward compatibility reasons, this parameter now only controls the
|
||||
// default scrolling method used by cursors. This default behavior can be
|
||||
@ -905,7 +905,9 @@
|
||||
#define REMOVE_UNUSED_ARG 1
|
||||
|
||||
// VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix
|
||||
// them. Set to 1 for <iostream.h>, 0 for <iostream>
|
||||
// them. Set to 1 for <iostream.h>, 0 for <iostream>. Note that VC++ 7.1
|
||||
// and later doesn't support wxUSE_IOSTREAMH == 1 and so <iostream> will be
|
||||
// used anyhow.
|
||||
//
|
||||
// Default is 1.
|
||||
//
|
||||
@ -1031,6 +1033,13 @@
|
||||
// Recommended setting: 1, set to 0 for a small library size reduction
|
||||
#define wxUSE_OWNER_DRAWN 1
|
||||
|
||||
// Set to 1 to compile MS Windows XP theme engine support
|
||||
#define wxUSE_UXTHEME 1
|
||||
|
||||
// Set to 1 to auto-adapt to MS Windows XP themes where possible
|
||||
// (notably, wxNotebook pages)
|
||||
#define wxUSE_UXTHEME_AUTO 1
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// obsolete settings
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -1048,170 +1057,5 @@
|
||||
// NOW MANDATORY: don't change.
|
||||
#define wxUSE_DYNAMIC_CLASSES 1
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// disable the settings which don't work for some compilers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifndef wxUSE_NORLANDER_HEADERS
|
||||
#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
|
||||
# define wxUSE_NORLANDER_HEADERS 1
|
||||
#else
|
||||
# define wxUSE_NORLANDER_HEADERS 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// wxUSE_DEBUG_NEW_ALWAYS doesn't work with CodeWarrior
|
||||
#if defined(__MWERKS__)
|
||||
#undef wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define wxUSE_DEBUG_NEW_ALWAYS 0
|
||||
#endif
|
||||
|
||||
#if defined(__GNUWIN32__)
|
||||
// These don't work as expected for mingw32 and cygwin32
|
||||
#undef wxUSE_MEMORY_TRACING
|
||||
#define wxUSE_MEMORY_TRACING 0
|
||||
|
||||
#undef wxUSE_GLOBAL_MEMORY_OPERATORS
|
||||
#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
|
||||
|
||||
#undef wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define wxUSE_DEBUG_NEW_ALWAYS 0
|
||||
|
||||
// Cygwin betas don't have wcslen
|
||||
#if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||
# if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
|
||||
# undef wxUSE_WCHAR_T
|
||||
# define wxUSE_WCHAR_T 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif // __GNUWIN32__
|
||||
|
||||
// MFC duplicates these operators
|
||||
#if wxUSE_MFC
|
||||
#undef wxUSE_GLOBAL_MEMORY_OPERATORS
|
||||
#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
|
||||
|
||||
#undef wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define wxUSE_DEBUG_NEW_ALWAYS 0
|
||||
#endif // wxUSE_MFC
|
||||
|
||||
#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS)
|
||||
// Can't use OLE drag and drop in Windows 3.1 because we don't know how
|
||||
// to implement UUIDs
|
||||
// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
|
||||
#undef wxUSE_DRAG_AND_DROP
|
||||
#define wxUSE_DRAG_AND_DROP 0
|
||||
#endif
|
||||
|
||||
// Only WIN32 supports wxStatusBar95
|
||||
#if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR
|
||||
#undef wxUSE_NATIVE_STATUSBAR
|
||||
#define wxUSE_NATIVE_STATUSBAR 0
|
||||
#endif
|
||||
|
||||
#if !wxUSE_OWNER_DRAWN
|
||||
#undef wxUSE_CHECKLISTBOX
|
||||
#define wxUSE_CHECKLISTBOX 0
|
||||
#endif
|
||||
|
||||
// Salford C++ doesn't like some of the memory operator definitions
|
||||
#ifdef __SALFORDC__
|
||||
#undef wxUSE_MEMORY_TRACING
|
||||
#define wxUSE_MEMORY_TRACING 0
|
||||
|
||||
#undef wxUSE_GLOBAL_MEMORY_OPERATORS
|
||||
#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
|
||||
|
||||
#undef wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define wxUSE_DEBUG_NEW_ALWAYS 0
|
||||
|
||||
#undef wxUSE_THREADS
|
||||
#define wxUSE_THREADS 0
|
||||
|
||||
#undef wxUSE_OWNER_DRAWN
|
||||
#define wxUSE_OWNER_DRAWN 0
|
||||
#endif // __SALFORDC__
|
||||
|
||||
// BC++/Win16 can't cope with the amount of data in resource.cpp
|
||||
#if defined(__WIN16__) && defined(__BORLANDC__)
|
||||
#undef wxUSE_WX_RESOURCES
|
||||
#define wxUSE_WX_RESOURCES 0
|
||||
|
||||
#undef wxUSE_ODBC
|
||||
#define wxUSE_ODBC 0
|
||||
|
||||
#undef wxUSE_NEW_GRID
|
||||
#define wxUSE_NEW_GRID 0
|
||||
#endif
|
||||
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
|
||||
// BC++ 4.0 can't compile JPEG library
|
||||
#undef wxUSE_LIBJPEG
|
||||
#define wxUSE_LIBJPEG 0
|
||||
#endif
|
||||
|
||||
// wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode
|
||||
#if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL))
|
||||
#undef wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define wxUSE_DEBUG_NEW_ALWAYS 0
|
||||
#endif
|
||||
|
||||
#if defined(__WXMSW__) && defined(__WATCOMC__)
|
||||
/*
|
||||
#undef wxUSE_GLCANVAS
|
||||
#define wxUSE_GLCANVAS 0
|
||||
*/
|
||||
|
||||
#undef wxUSE_WCHAR_T
|
||||
#define wxUSE_WCHAR_T 0
|
||||
#endif
|
||||
|
||||
#if defined(__WXMSW__) && !defined(__WIN32__)
|
||||
|
||||
#undef wxUSE_SOCKETS
|
||||
#define wxUSE_SOCKETS 0
|
||||
|
||||
#undef wxUSE_THREADS
|
||||
#define wxUSE_THREADS 0
|
||||
|
||||
#undef wxUSE_TOOLTIPS
|
||||
#define wxUSE_TOOLTIPS 0
|
||||
|
||||
#undef wxUSE_SPINCTRL
|
||||
#define wxUSE_SPINCTRL 0
|
||||
|
||||
#undef wxUSE_SPINBTN
|
||||
#define wxUSE_SPINBTN 0
|
||||
|
||||
#undef wxUSE_LIBPNG
|
||||
#define wxUSE_LIBPNG 0
|
||||
|
||||
#undef wxUSE_LIBJPEG
|
||||
#define wxUSE_LIBJPEG 0
|
||||
|
||||
#undef wxUSE_LIBTIFF
|
||||
#define wxUSE_LIBTIFF 0
|
||||
|
||||
#undef wxUSE_GIF
|
||||
#define wxUSE_GIF 0
|
||||
|
||||
#undef wxUSE_PNM
|
||||
#define wxUSE_PNM 0
|
||||
|
||||
#undef wxUSE_PCX
|
||||
#define wxUSE_PCX 0
|
||||
|
||||
#undef wxUSE_GLCANVAS
|
||||
#define wxUSE_GLCANVAS 0
|
||||
|
||||
#undef wxUSE_MS_HTML_HELP
|
||||
#define wxUSE_MS_HTML_HELP 0
|
||||
|
||||
#undef wxUSE_WCHAR_T
|
||||
#define wxUSE_WCHAR_T 0
|
||||
|
||||
#endif // Win16
|
||||
|
||||
#endif
|
||||
// _WX_SETUP_H_
|
||||
|
@ -121,7 +121,15 @@ inline size_t Strlen(const char *psz)
|
||||
// portable strcasecmp/_stricmp
|
||||
inline int Stricmp(const char *psz1, const char *psz2)
|
||||
{
|
||||
#if defined(__VISUALC__) || ( defined(__MWERKS__) && defined(__INTEL__) )
|
||||
#if defined(__VISUALC__) && defined(__WXWINCE__)
|
||||
register char c1, c2;
|
||||
do {
|
||||
c1 = tolower(*psz1++);
|
||||
c2 = tolower(*psz2++);
|
||||
} while ( c1 && (c1 == c2) );
|
||||
|
||||
return c1 - c2;
|
||||
#elif defined(__VISUALC__) || ( defined(__MWERKS__) && defined(__INTEL__) )
|
||||
return _stricmp(psz1, psz2);
|
||||
#elif defined(__SC__)
|
||||
return _stricmp(psz1, psz2);
|
||||
|
@ -155,8 +155,10 @@ void wxCursorRefData::Free()
|
||||
{
|
||||
if ( m_hCursor )
|
||||
{
|
||||
#ifndef __WXWINCE__
|
||||
if ( m_destroyCursor )
|
||||
::DestroyCursor((HCURSOR)m_hCursor);
|
||||
#endif
|
||||
|
||||
m_hCursor = 0;
|
||||
}
|
||||
@ -235,9 +237,11 @@ wxCursor::wxCursor(const wxString& filename,
|
||||
hcursor = ::LoadCursor(wxGetInstance(), filename);
|
||||
break;
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
case wxBITMAP_TYPE_CUR:
|
||||
hcursor = ::LoadCursorFromFile(filename);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case wxBITMAP_TYPE_ICO:
|
||||
hcursor = wxBitmapToHCURSOR
|
||||
|
@ -95,7 +95,7 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#if (!defined(__GNUWIN32_OLD__) && !defined(__WXMICROWIN__)) || defined(__CYGWIN10__)
|
||||
#if (!defined(__GNUWIN32_OLD__) && !defined(__WXMICROWIN__) && !defined(__WXWINCE__)) || defined(__CYGWIN10__)
|
||||
#include <shellapi.h>
|
||||
#include <mmsystem.h>
|
||||
#endif
|
||||
@ -104,11 +104,11 @@
|
||||
#include <windowsx.h>
|
||||
#endif
|
||||
|
||||
#if (!defined(__GNUWIN32_OLD__) && !defined(__WXMICROWIN__)) || defined(__CYGWIN10__)
|
||||
#if (!defined(__GNUWIN32_OLD__) && !defined(__WXMICROWIN__) && !defined(__WXWINCE__)) || defined(__CYGWIN10__)
|
||||
#ifdef __WIN95__
|
||||
#include <commctrl.h>
|
||||
#endif
|
||||
#elif !defined(__WXMICROWIN__) // broken compiler
|
||||
#elif !defined(__WXMICROWIN__) && !defined(__WXWINCE__) // broken compiler
|
||||
#include "wx/msw/gnuwin32/extra.h"
|
||||
#endif
|
||||
|
||||
@ -116,6 +116,10 @@
|
||||
#include "wx/msw/missing.h"
|
||||
#endif
|
||||
|
||||
#if defined(__WXWINCE__)
|
||||
#include "wx/msw/wince/missing.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// standard constants not available with all compilers/headers
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -448,7 +452,7 @@ void wxWindowMSW::SetFocus()
|
||||
HWND hWnd = GetHwnd();
|
||||
wxCHECK_RET( hWnd, _T("can't set focus to invalid window") );
|
||||
|
||||
#ifndef __WXMICROWIN__
|
||||
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
|
||||
::SetLastError(0);
|
||||
#endif
|
||||
|
||||
@ -744,7 +748,16 @@ inline int GetScrollPosition(HWND hWnd, int wOrient)
|
||||
#ifdef __WXMICROWIN__
|
||||
return ::GetScrollPosWX(hWnd, wOrient);
|
||||
#else
|
||||
return ::GetScrollPos(hWnd, wOrient);
|
||||
SCROLLINFO scrollInfo;
|
||||
scrollInfo.fMask = SIF_POS;
|
||||
if ( !::GetScrollInfo(hWnd,
|
||||
wOrient,
|
||||
&scrollInfo) )
|
||||
{
|
||||
wxLogLastError(_T("GetScrollInfo"));
|
||||
}
|
||||
return scrollInfo.nPos;
|
||||
// return ::GetScrollPos(hWnd, wOrient);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -760,13 +773,23 @@ int wxWindowMSW::GetScrollPos(int orient) const
|
||||
// of positions that we can scroll.
|
||||
int wxWindowMSW::GetScrollRange(int orient) const
|
||||
{
|
||||
int minPos, maxPos;
|
||||
int maxPos;
|
||||
HWND hWnd = GetHwnd();
|
||||
if ( !hWnd )
|
||||
return 0;
|
||||
|
||||
#if 0
|
||||
::GetScrollRange(hWnd, orient == wxHORIZONTAL ? SB_HORZ : SB_VERT,
|
||||
&minPos, &maxPos);
|
||||
#endif
|
||||
SCROLLINFO scrollInfo;
|
||||
scrollInfo.fMask = SIF_RANGE;
|
||||
if ( !::GetScrollInfo(hWnd,
|
||||
orient == wxHORIZONTAL ? SB_HORZ : SB_VERT,
|
||||
&scrollInfo) )
|
||||
{
|
||||
wxLogLastError(_T("GetScrollInfo"));
|
||||
}
|
||||
maxPos = scrollInfo.nMax;
|
||||
|
||||
// undo "range - 1" done in SetScrollbar()
|
||||
return maxPos + 1;
|
||||
@ -843,7 +866,12 @@ void wxWindowMSW::ScrollWindow(int dx, int dy, const wxRect *prect)
|
||||
pr = NULL;
|
||||
}
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
// FIXME: is this the exact equivalent of the line below?
|
||||
::ScrollWindowEx(GetHwnd(), dx, dy, pr, pr, 0, 0, SW_ERASE|SW_INVALIDATE);
|
||||
#else
|
||||
::ScrollWindow(GetHwnd(), dx, dy, pr, pr);
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool ScrollVertically(HWND hwnd, int kind, int count)
|
||||
@ -1046,8 +1074,10 @@ WXDWORD wxWindowMSW::MSWGetStyle(long flags, WXDWORD *exstyle) const
|
||||
{
|
||||
*exstyle = 0;
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
if ( flags & wxTRANSPARENT_WINDOW )
|
||||
*exstyle |= WS_EX_TRANSPARENT;
|
||||
#endif
|
||||
|
||||
switch ( border )
|
||||
{
|
||||
@ -1079,7 +1109,7 @@ WXDWORD wxWindowMSW::MSWGetStyle(long flags, WXDWORD *exstyle) const
|
||||
}
|
||||
|
||||
// wxUniv doesn't use Windows dialog navigation functions at all
|
||||
#ifndef __WXUNIVERSAL__
|
||||
#if !defined(__WXUNIVERSAL__) && !defined(__WXWINCE__)
|
||||
// to make the dialog navigation work with the nested panels we must
|
||||
// use this style (top level windows such as dialogs don't need it)
|
||||
if ( (flags & wxTAB_TRAVERSAL) && !IsTopLevel() )
|
||||
@ -1265,7 +1295,7 @@ void wxWindowMSW::Update()
|
||||
wxLogLastError(_T("UpdateWindow"));
|
||||
}
|
||||
|
||||
#if !defined(__WXMICROWIN__)
|
||||
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
|
||||
// just calling UpdateWindow() is not enough, what we did in our WM_PAINT
|
||||
// handler needs to be really drawn right now
|
||||
(void)::GdiFlush();
|
||||
@ -1295,9 +1325,11 @@ void wxWindowMSW::SetDropTarget(wxDropTarget *pDropTarget)
|
||||
// DragAcceptFiles in parallel with SetDropTarget.
|
||||
void wxWindowMSW::DragAcceptFiles(bool accept)
|
||||
{
|
||||
#if !defined(__WXWINCE__)
|
||||
HWND hWnd = GetHwnd();
|
||||
if ( hWnd )
|
||||
::DragAcceptFiles(hWnd, (BOOL)accept);
|
||||
#endif
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -1701,7 +1733,11 @@ bool wxWindowMSW::DoPopupMenu(wxMenu *menu, int x, int y)
|
||||
point.y = y;
|
||||
::ClientToScreen(hWnd, &point);
|
||||
wxCurrentPopupMenu = menu;
|
||||
::TrackPopupMenu(hMenu, TPM_RIGHTBUTTON, point.x, point.y, 0, hWnd, NULL);
|
||||
UINT flags = 0;
|
||||
#if !defined(__WXWINCE__)
|
||||
flags = TPM_RIGHTBUTTON;
|
||||
#endif
|
||||
::TrackPopupMenu(hMenu, flags, point.x, point.y, 0, hWnd, NULL);
|
||||
|
||||
// we need to do it righ now as otherwise the events are never going to be
|
||||
// sent to wxCurrentPopupMenu from HandleCommand()
|
||||
@ -1942,6 +1978,7 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
||||
// style has the focus, it can happen. One such possibility is if
|
||||
// all windows are either toplevel, wxDialog, wxPanel or static
|
||||
// controls and no window can actually accept keyboard input.
|
||||
#if !defined(__WXWINCE__)
|
||||
if ( ::GetWindowLong(hwndFocus, GWL_EXSTYLE) & WS_EX_CONTROLPARENT )
|
||||
{
|
||||
// passimistic by default
|
||||
@ -1959,6 +1996,7 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( canSafelyCallIsDlgMsg )
|
||||
{
|
||||
@ -2169,6 +2207,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
processed = HandleMove(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
|
||||
break;
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_MOVING:
|
||||
{
|
||||
LPRECT pRect = (LPRECT)lParam;
|
||||
@ -2186,6 +2225,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_SIZE:
|
||||
switch ( wParam )
|
||||
@ -2215,6 +2255,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
break;
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_SIZING:
|
||||
{
|
||||
LPRECT pRect = (LPRECT)lParam;
|
||||
@ -2232,8 +2273,9 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifndef __WXMICROWIN__
|
||||
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
|
||||
case WM_ACTIVATEAPP:
|
||||
wxTheApp->SetActive(wParam != 0, FindFocus());
|
||||
break;
|
||||
@ -2389,11 +2431,9 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef __WIN95__
|
||||
case WM_NOTIFY:
|
||||
processed = HandleNotify((int)wParam, lParam, &rc.result);
|
||||
break;
|
||||
#endif // Win95
|
||||
|
||||
// for these messages we must return TRUE if process the message
|
||||
#ifdef WM_DRAWITEM
|
||||
@ -2600,9 +2640,11 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
processed = HandleSysColorChange();
|
||||
break;
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_DISPLAYCHANGE:
|
||||
processed = HandleDisplayChange();
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_PALETTECHANGED:
|
||||
processed = HandlePaletteChanged((WXHWND) (HWND) wParam);
|
||||
@ -2625,9 +2667,11 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
break;
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_DROPFILES:
|
||||
processed = HandleDropFiles(wParam);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_INITDIALOG:
|
||||
processed = HandleInitDialog((WXHWND)(HWND)wParam);
|
||||
@ -2639,6 +2683,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
break;
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_QUERYENDSESSION:
|
||||
processed = HandleQueryEndSession(lParam, &rc.allow);
|
||||
break;
|
||||
@ -2650,6 +2695,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
case WM_GETMINMAXINFO:
|
||||
processed = HandleGetMinMaxInfo((MINMAXINFO*)lParam);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_SETCURSOR:
|
||||
processed = HandleSetCursor((WXHWND)(HWND)wParam,
|
||||
@ -2682,18 +2728,26 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
#if defined(WM_HELP)
|
||||
case WM_HELP:
|
||||
{
|
||||
// HELPINFO doesn't seem to be supported on WinCE.
|
||||
#ifndef __WXWINCE__
|
||||
HELPINFO* info = (HELPINFO*) lParam;
|
||||
// Don't yet process menu help events, just windows
|
||||
if (info->iContextType == HELPINFO_WINDOW)
|
||||
{
|
||||
#endif
|
||||
wxWindowMSW* subjectOfHelp = this;
|
||||
bool eventProcessed = FALSE;
|
||||
while (subjectOfHelp && !eventProcessed)
|
||||
{
|
||||
wxHelpEvent helpEvent(wxEVT_HELP,
|
||||
subjectOfHelp->GetId(),
|
||||
wxPoint(info->MousePos.x,
|
||||
info->MousePos.y) );
|
||||
#ifdef __WXWINCE__
|
||||
wxPoint(0, 0)
|
||||
#else
|
||||
wxPoint(info->MousePos.x, info->MousePos.y)
|
||||
#endif
|
||||
);
|
||||
|
||||
helpEvent.SetEventObject(this);
|
||||
eventProcessed =
|
||||
GetEventHandler()->ProcessEvent(helpEvent);
|
||||
@ -2704,6 +2758,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
|
||||
processed = eventProcessed;
|
||||
#ifndef __WXWINCE__
|
||||
}
|
||||
else if (info->iContextType == HELPINFO_MENUITEM)
|
||||
{
|
||||
@ -2713,9 +2768,12 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
|
||||
}
|
||||
//else: processed is already FALSE
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if !defined(__WXWINCE__)
|
||||
case WM_CONTEXTMENU:
|
||||
{
|
||||
// we don't convert from screen to client coordinates as
|
||||
@ -2726,6 +2784,7 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
processed = GetEventHandler()->ProcessEvent(evtCtx);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_MENUCHAR:
|
||||
// we're only interested in our own menus, not MF_SYSMENU
|
||||
@ -2740,7 +2799,6 @@ long wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( !processed )
|
||||
@ -2986,12 +3044,13 @@ bool wxWindowMSW::HandleTooltipNotify(WXUINT code,
|
||||
// this message is supposed to be sent to Unicode programs only) -- hence
|
||||
// we need to handle it as well, otherwise no tooltips will be shown in
|
||||
// this case
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
if ( !(code == (WXUINT) TTN_NEEDTEXTA || code == (WXUINT) TTN_NEEDTEXTW) || ttip.empty() )
|
||||
{
|
||||
// not a tooltip message or no tooltip to show anyhow
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
LPTOOLTIPTEXT ttText = (LPTOOLTIPTEXT)lParam;
|
||||
|
||||
@ -3046,6 +3105,7 @@ bool wxWindowMSW::MSWOnNotify(int WXUNUSED(idCtrl),
|
||||
|
||||
bool wxWindowMSW::HandleQueryEndSession(long logOff, bool *mayEnd)
|
||||
{
|
||||
#ifndef __WXWINCE__
|
||||
wxCloseEvent event(wxEVT_QUERY_END_SESSION, -1);
|
||||
event.SetEventObject(wxTheApp);
|
||||
event.SetCanVeto(TRUE);
|
||||
@ -3061,10 +3121,14 @@ bool wxWindowMSW::HandleQueryEndSession(long logOff, bool *mayEnd)
|
||||
}
|
||||
|
||||
return rc;
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool wxWindowMSW::HandleEndSession(bool endSession, long logOff)
|
||||
{
|
||||
#ifndef __WXWINCE__
|
||||
// do nothing if the session isn't ending
|
||||
if ( !endSession )
|
||||
return FALSE;
|
||||
@ -3079,6 +3143,9 @@ bool wxWindowMSW::HandleEndSession(bool endSession, long logOff)
|
||||
event.SetLoggingOff( (logOff == (long)ENDSESSION_LOGOFF) );
|
||||
|
||||
return wxTheApp->ProcessEvent(event);
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@ -3094,6 +3161,7 @@ bool wxWindowMSW::HandleCreate(WXLPCREATESTRUCT cs, bool *mayCreate)
|
||||
// all of them iterate over all the controls starting from the focus and
|
||||
// stop iterating when they get back to the focus but unless all parents
|
||||
// have WS_EX_CONTROLPARENT bit set, they would never get back to focus
|
||||
#ifndef __WXWINCE__
|
||||
if ( ((CREATESTRUCT *)cs)->dwExStyle & WS_EX_CONTROLPARENT )
|
||||
{
|
||||
// there is no need to do anything for the top level windows
|
||||
@ -3111,6 +3179,7 @@ bool wxWindowMSW::HandleCreate(WXLPCREATESTRUCT cs, bool *mayCreate)
|
||||
parent = parent->GetParent();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// TODO: should generate this event from WM_NCCREATE
|
||||
wxWindowCreateEvent event((wxWindow *)this);
|
||||
@ -3247,7 +3316,7 @@ bool wxWindowMSW::HandleInitDialog(WXHWND WXUNUSED(hWndFocus))
|
||||
|
||||
bool wxWindowMSW::HandleDropFiles(WXWPARAM wParam)
|
||||
{
|
||||
#if defined (__WXMICROWIN__)
|
||||
#if defined (__WXMICROWIN__) || defined(__WXWINCE__)
|
||||
return FALSE;
|
||||
#else // __WXMICROWIN__
|
||||
HDROP hFilesInfo = (HDROP) wParam;
|
||||
@ -3486,7 +3555,11 @@ bool wxWindowMSW::HandleCtlColor(WXHBRUSH *brush,
|
||||
#ifndef __WXMICROWIN__
|
||||
WXHBRUSH hBrush = 0;
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
if (FALSE)
|
||||
#else
|
||||
if ( nCtlColor == CTLCOLOR_DLG )
|
||||
#endif
|
||||
{
|
||||
hBrush = OnCtlColor(pDC, pWnd, nCtlColor, message, wParam, lParam);
|
||||
}
|
||||
@ -3817,11 +3890,16 @@ void wxWindowMSW::OnEraseBackground(wxEraseEvent& event)
|
||||
|
||||
HDC hdc = (HDC)event.GetDC()->GetHDC();
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
int mode = ::SetMapMode(hdc, MM_TEXT);
|
||||
#endif
|
||||
|
||||
::FillRect(hdc, &rect, hBrush);
|
||||
::DeleteObject(hBrush);
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
::SetMapMode(hdc, mode);
|
||||
#endif
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@ -3888,6 +3966,9 @@ bool wxWindowMSW::HandleSizing(wxRect& rect)
|
||||
|
||||
bool wxWindowMSW::HandleGetMinMaxInfo(void *mmInfo)
|
||||
{
|
||||
#ifdef __WXWINCE__
|
||||
return FALSE;
|
||||
#else
|
||||
MINMAXINFO *info = (MINMAXINFO *)mmInfo;
|
||||
|
||||
bool rc = FALSE;
|
||||
@ -3922,6 +4003,7 @@ bool wxWindowMSW::HandleGetMinMaxInfo(void *mmInfo)
|
||||
}
|
||||
|
||||
return rc;
|
||||
#endif
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@ -3994,6 +4076,7 @@ bool wxWindowMSW::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control)
|
||||
|
||||
bool wxWindowMSW::HandleSysCommand(WXWPARAM wParam, WXLPARAM WXUNUSED(lParam))
|
||||
{
|
||||
#ifndef __WXWINCE__
|
||||
// 4 bits are reserved
|
||||
switch ( wParam & 0xFFFFFFF0 )
|
||||
{
|
||||
@ -4003,6 +4086,7 @@ bool wxWindowMSW::HandleSysCommand(WXWPARAM wParam, WXLPARAM WXUNUSED(lParam))
|
||||
case SC_MINIMIZE:
|
||||
return HandleMinimize();
|
||||
}
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -4061,6 +4145,13 @@ static wxWindowMSW *FindWindowForMouseEvent(wxWindowMSW *win, int *x, int *y) //
|
||||
HWND hwnd = GetHwndOf(win),
|
||||
hwndUnderMouse;
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
hwndUnderMouse = ::ChildWindowFromPoint
|
||||
(
|
||||
hwnd,
|
||||
pt
|
||||
);
|
||||
#else
|
||||
hwndUnderMouse = ::ChildWindowFromPointEx
|
||||
(
|
||||
hwnd,
|
||||
@ -4069,6 +4160,7 @@ static wxWindowMSW *FindWindowForMouseEvent(wxWindowMSW *win, int *x, int *y) //
|
||||
CWP_SKIPDISABLED |
|
||||
CWP_SKIPTRANSPARENT
|
||||
);
|
||||
#endif
|
||||
|
||||
if ( !hwndUnderMouse || hwndUnderMouse == hwnd )
|
||||
{
|
||||
@ -4344,6 +4436,9 @@ bool wxWindowMSW::HandleKeyUp(WXWPARAM wParam, WXLPARAM lParam)
|
||||
|
||||
int wxWindowMSW::HandleMenuChar(int chAccel, WXLPARAM lParam)
|
||||
{
|
||||
// FIXME: implement GetMenuItemCount for WinCE, possibly
|
||||
// in terms of GetMenuItemInfo
|
||||
#ifndef __WXWINCE__
|
||||
const HMENU hmenu = (HMENU)lParam;
|
||||
|
||||
MENUITEMINFO mii;
|
||||
@ -4397,7 +4492,7 @@ int wxWindowMSW::HandleMenuChar(int chAccel, WXLPARAM lParam)
|
||||
wxLogLastError(_T("GetMenuItemInfo"));
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
return wxNOT_FOUND;
|
||||
}
|
||||
|
||||
@ -4849,7 +4944,7 @@ extern wxWindow *wxGetWindowFromHWND(WXHWND hWnd)
|
||||
return win;
|
||||
}
|
||||
|
||||
#ifndef __WXMICROWIN__
|
||||
#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
|
||||
|
||||
// Windows keyboard hook. Allows interception of e.g. F1, ESCAPE
|
||||
// in active frames and dialogs, regardless of where the focus is.
|
||||
|
Loading…
Reference in New Issue
Block a user