]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/wince/missing.h
wxClipboard changes compilation fixes
[wxWidgets.git] / include / wx / msw / wince / missing.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wince/missing.h
3// Purpose: Missing things in WinCE
4// Author: Marco Cavallini
5// Modified by:
6// Created: 16/11/2002
7// RCS-ID:
8// Copyright: (c) KOAN SAS ( www.koansoftware.com )
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_CE_MISSING_H_
13#define _WX_CE_MISSING_H_
14
15#include "wx/msw/private.h"
16#include "shellapi.h"
17
18inline BOOL IsIconic( HWND WXUNUSED(hWnd) )
19{
20 // Probably not right...
21#if 0
22 long style = GetWindowLong(hWnd, GWL_STYLE);
23 return ((style & WS_MINIMIZE) == 0);
24#endif
25 return FALSE;
26}
27
28#ifdef __POCKETPC__
29#define SM_CXCURSOR 13
30#define SM_CYCURSOR 14
31#endif
32
33// Missing from eVC 4 for some reason
34#ifndef I_IMAGENONE
35#define I_IMAGENONE (-2)
36#endif
37
38#ifndef TBSTYLE_NO_DROPDOWN_ARROW
39#define TBSTYLE_NO_DROPDOWN_ARROW 0x0080
40#endif
41
42#if _WIN32_WCE >= 400 && !defined(SHCMBM_GETMENU)
43
44// aygshell.h missing from eVC 4 for some reason
45// NB not missing from Pocket PC 2003, hence the test for SHCMBM_GETMENU
46
47#define SHCMBM_GETMENU (WM_USER + 402)
48#define SHCMBM_SETSUBMENU (WM_USER + 400) // wparam == id of button, lParam == hmenu, return is old hmenu
49#define SHCMBM_GETSUBMENU (WM_USER + 401) // lParam == ID
50#define SHCMBM_GETMENU (WM_USER + 402) // get the owning hmenu (as specified in the load resource)
51
52#define SHIDIF_DONEBUTTON 0x0001
53#define SHIDIF_SIZEDLG 0x0002
54#define SHIDIF_SIZEDLGFULLSCREEN 0x0004
55#define SHIDIF_SIPDOWN 0x0008
56#define SHIDIF_FULLSCREENNOMENUBAR 0x0010
57#define SHIDIF_EMPTYMENU 0x0020
58
59#define SHFS_SHOWTASKBAR 0x0001
60#define SHFS_HIDETASKBAR 0x0002
61#define SHFS_SHOWSIPBUTTON 0x0004
62#define SHFS_HIDESIPBUTTON 0x0008
63#define SHFS_SHOWSTARTICON 0x0010
64#define SHFS_HIDESTARTICON 0x0020
65
66typedef struct tagSHMENUBARINFO
67{
68 DWORD cbSize; // IN - Indicates which members of struct are valid
69 HWND hwndParent; // IN
70 DWORD dwFlags; // IN - Some features we want
71 UINT nToolBarId; // IN - Which toolbar are we using
72 HINSTANCE hInstRes; // IN - Instance that owns the resources
73 int nBmpId;
74 int cBmpImages; // IN - Count of bitmap images
75 HWND hwndMB; // OUT
76 COLORREF clrBk; // IN - background color of the menu bar (excluding sip)
77} SHMENUBARINFO, *PSHMENUBARINFO;
78
79extern "C"
80{
81 BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
82
83 WINSHELLAPI BOOL SHCreateMenuBar(SHMENUBARINFO *pmbi);
84}
85
86#endif // _WIN32_WCE >= 400
87
88// Used in msgdlg.cpp, evtloop.cpp
89#ifndef MB_TASKMODAL
90#define MB_TASKMODAL 0x2000
91#endif
92
93#ifndef HGDI_ERROR
94#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL))
95#endif
96
97// some windows styles don't exist in CE SDK, replace them with closest
98// equivalents
99#ifndef WS_THICKFRAME
100 #define WS_THICKFRAME WS_BORDER
101#endif
102
103#ifndef WS_MINIMIZE
104 #define WS_MINIMIZE 0
105#endif
106
107#ifndef WS_MAXIMIZE
108 #define WS_MAXIMIZE 0
109#endif
110
111
112// global memory functions don't exist under CE (good riddance, of course, but
113// the existing code still uses them in some places, so make it compile)
114//
115// update: they're defined in eVC 4 inside "#ifdef UNDER_CE" block
116#ifndef UNDER_CE
117 #define GlobalAlloc LocalAlloc
118 #define GlobalFree LocalFree
119 #define GlobalSize LocalSize
120 #define GPTR LPTR
121 #define GHND LPTR
122 #define GMEM_MOVEABLE 0
123 #define GMEM_SHARE 0
124#endif // !UNDER_CE
125
126// WinCE RTL doesn't implement bsearch() used in encconv.cpp
127extern "C" void *
128bsearch(const void *key, const void *base, size_t num, size_t size,
129 int (wxCMPFUNC_CONV *cmp)(const void *, const void *));
130
131#endif // _WX_CE_MISSING_H_
132