]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/wince/missing.h
Implement a reasonable DoGetBestSize (NSProgressIndicator is not an NSControl)
[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
42#if _WIN32_WCE >= 400
524b59ff 43
504de6d1
JS
44// aygshell.h missing from eVC 4 for some reason
45#define SHCMBM_GETMENU (WM_USER + 402)
46#define SHCMBM_SETSUBMENU (WM_USER + 400) // wparam == id of button, lParam == hmenu, return is old hmenu
47#define SHCMBM_GETSUBMENU (WM_USER + 401) // lParam == ID
48#define SHCMBM_GETMENU (WM_USER + 402) // get the owning hmenu (as specified in the load resource)
49
50#define SHIDIF_DONEBUTTON 0x0001
51#define SHIDIF_SIZEDLG 0x0002
52#define SHIDIF_SIZEDLGFULLSCREEN 0x0004
53#define SHIDIF_SIPDOWN 0x0008
54#define SHIDIF_FULLSCREENNOMENUBAR 0x0010
55#define SHIDIF_EMPTYMENU 0x0020
56
57#define SHFS_SHOWTASKBAR 0x0001
58#define SHFS_HIDETASKBAR 0x0002
59#define SHFS_SHOWSIPBUTTON 0x0004
60#define SHFS_HIDESIPBUTTON 0x0008
61#define SHFS_SHOWSTARTICON 0x0010
62#define SHFS_HIDESTARTICON 0x0020
63
64typedef struct tagSHMENUBARINFO
65{
66 DWORD cbSize; // IN - Indicates which members of struct are valid
524b59ff 67 HWND hwndParent; // IN
504de6d1
JS
68 DWORD dwFlags; // IN - Some features we want
69 UINT nToolBarId; // IN - Which toolbar are we using
70 HINSTANCE hInstRes; // IN - Instance that owns the resources
71 int nBmpId;
72 int cBmpImages; // IN - Count of bitmap images
524b59ff 73 HWND hwndMB; // OUT
504de6d1
JS
74 COLORREF clrBk; // IN - background color of the menu bar (excluding sip)
75} SHMENUBARINFO, *PSHMENUBARINFO;
76
524b59ff
VZ
77extern "C"
78{
79 BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
504de6d1 80
524b59ff 81 WINSHELLAPI BOOL SHCreateMenuBar(SHMENUBARINFO *pmbi);
504de6d1 82}
504de6d1 83
524b59ff 84#endif // _WIN32_WCE >= 400
676d6550 85
676d6550 86// Used in msgdlg.cpp, evtloop.cpp
676d6550
JS
87#ifndef MB_TASKMODAL
88#define MB_TASKMODAL 0x2000
89#endif
90
524b59ff
VZ
91#ifndef HGDI_ERROR
92#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL))
7f0586ef
JS
93#endif
94
524b59ff
VZ
95// global memory functions don't exist under CE (good riddance, of course, but
96// the existing code still uses them in some places, so make it compile)
97//
98// update: they're defined in eVC 4 inside "#ifdef UNDER_CE" block
99#ifndef UNDER_CE
100 #define GlobalAlloc LocalAlloc
101 #define GlobalFree LocalFree
102 #define GlobalSize LocalSize
103 #define GPTR LPTR
104 #define GHND LPTR
105 #define GMEM_MOVEABLE 0
106 #define GMEM_SHARE 0
107#endif // !UNDER_CE
108
109// WinCE RTL doesn't implement bsearch() used in encconv.cpp
110extern "C" void *
111bsearch(const void *key, const void *base, size_t num, size_t size,
112 int (wxCMPFUNC_CONV *cmp)(const void *, const void *));
1a4fe894
JS
113
114#endif // _WX_CE_MISSING_H_
524b59ff 115