]>
Commit | Line | Data |
---|---|---|
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 | ||
18 | inline 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 | ||
66 | typedef 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 | ||
79 | extern "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 | |
127 | extern "C" void * | |
128 | bsearch(const void *key, const void *base, size_t num, size_t size, | |
129 | int (wxCMPFUNC_CONV *cmp)(const void *, const void *)); | |
130 | ||
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 | ||
143 | #endif // _WX_CE_MISSING_H_ | |
144 |