]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/wince/missing.h
MSVC 5 fix.
[wxWidgets.git] / include / wx / msw / wince / missing.h
CommitLineData
1a4fe894
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: wince/missing.h
504de6d1 3// Purpose: Missing things in WinCE
1a4fe894
JS
4// Author: Marco Cavallini
5// Modified by:
6// Created: 16/11/2002
524b59ff 7// RCS-ID:
1a4fe894 8// Copyright: (c) KOAN SAS ( www.koansoftware.com )
371a5b4e
JS
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
1a4fe894
JS
11
12#ifndef _WX_CE_MISSING_H_
13#define _WX_CE_MISSING_H_
14
504de6d1
JS
15#include "wx/msw/private.h"
16#include "shellapi.h"
17
524b59ff 18inline BOOL IsIconic( HWND WXUNUSED(hWnd) )
7f0586ef
JS
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}
1a4fe894 27
eae4425d
JS
28#ifdef WIN32_PLATFORM_PSPC
29#define SM_CXCURSOR 13
30#define SM_CYCURSOR 14
31#endif
1a4fe894 32
504de6d1
JS
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
5614d24d 42#if _WIN32_WCE >= 400 && !defined(SHCMBM_GETMENU)
524b59ff 43
504de6d1 44// aygshell.h missing from eVC 4 for some reason
5614d24d
JS
45// NB not missing from Pocket PC 2003, hence the test for SHCMBM_GETMENU
46
504de6d1
JS
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
524b59ff 69 HWND hwndParent; // IN
504de6d1
JS
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
524b59ff 75 HWND hwndMB; // OUT
504de6d1
JS
76 COLORREF clrBk; // IN - background color of the menu bar (excluding sip)
77} SHMENUBARINFO, *PSHMENUBARINFO;
78
524b59ff
VZ
79extern "C"
80{
81 BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
504de6d1 82
524b59ff 83 WINSHELLAPI BOOL SHCreateMenuBar(SHMENUBARINFO *pmbi);
504de6d1 84}
504de6d1 85
524b59ff 86#endif // _WIN32_WCE >= 400
676d6550 87
676d6550 88// Used in msgdlg.cpp, evtloop.cpp
676d6550
JS
89#ifndef MB_TASKMODAL
90#define MB_TASKMODAL 0x2000
91#endif
92
524b59ff
VZ
93#ifndef HGDI_ERROR
94#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL))
7f0586ef
JS
95#endif
96
2fce94e2
VZ
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
524b59ff
VZ
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 *));
1a4fe894
JS
130
131#endif // _WX_CE_MISSING_H_
524b59ff 132