]>
Commit | Line | Data |
---|---|---|
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 | 18 | inline 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 | ||
66 | typedef 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 |
79 | extern "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 | |
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 *)); | |
1a4fe894 JS |
130 | |
131 | #endif // _WX_CE_MISSING_H_ | |
524b59ff | 132 |