]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/wince/missing.h
Implemented PocketPC menubar/toolbar as wxToolMenuBar derived
[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 )
65571936 9// Licence: wxWindows licence
371a5b4e 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
a9928e9d 28#ifdef __POCKETPC__
eae4425d
JS
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 130
08c63240
JS
131#define O_RDONLY 0x0000 /* open for reading only */
132#define O_WRONLY 0x0001 /* open for writing only */
133#define O_RDWR 0x0002 /* open for reading and writing */
134#define O_APPEND 0x0008 /* writes done at eof */
135
136#define O_CREAT 0x0100 /* create and open file */
137#define O_TRUNC 0x0200 /* open and truncate */
138#define O_EXCL 0x0400 /* open only if file doesn't already exist */
139
140#define O_TEXT 0x4000 /* file mode is text (translated) */
141#define O_BINARY 0x8000 /* file mode is binary (untranslated) */
142
1a4fe894 143#endif // _WX_CE_MISSING_H_
524b59ff 144