| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: winundef.h
- // Purpose: undefine the common symbols #define'd by <windows.h>
- // Author: Vadim Zeitlin
- // Modified by:
- // Created: 16.05.99
- // Copyright: (c) wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /* THIS SHOULD NOT BE USED since you might include it once e.g. in window.h,
- * then again _AFTER_ you've included windows.h, in which case it won't work
- * a 2nd time -- JACS
- #ifndef _WX_WINUNDEF_H_
- #define _WX_WINUNDEF_H_
- */
- // ----------------------------------------------------------------------------
- // windows.h #defines the following identifiers which are also used in wxWin so
- // we replace these symbols with the corresponding inline functions and
- // undefine the macro.
- //
- // This looks quite ugly here but allows us to write clear (and correct!) code
- // elsewhere because the functions, unlike the macros, respect the scope.
- // ----------------------------------------------------------------------------
- // CreateDialog
- #if defined(CreateDialog)
- #undef CreateDialog
- inline HWND CreateDialog(HINSTANCE hInstance,
- LPCTSTR pTemplate,
- HWND hwndParent,
- DLGPROC pDlgProc)
- {
- #ifdef _UNICODE
- return CreateDialogW(hInstance, pTemplate, hwndParent, pDlgProc);
- #else
- return CreateDialogA(hInstance, pTemplate, hwndParent, pDlgProc);
- #endif
- }
- #endif
- // CreateFont
- #ifdef CreateFont
- #undef CreateFont
- inline HFONT CreateFont(int height,
- int width,
- int escapement,
- int orientation,
- int weight,
- DWORD italic,
- DWORD underline,
- DWORD strikeout,
- DWORD charset,
- DWORD outprecision,
- DWORD clipprecision,
- DWORD quality,
- DWORD family,
- LPCTSTR facename)
- {
- #ifdef _UNICODE
- return CreateFontW(height, width, escapement, orientation,
- weight, italic, underline, strikeout, charset,
- outprecision, clipprecision, quality,
- family, facename);
- #else
- return CreateFontA(height, width, escapement, orientation,
- weight, italic, underline, strikeout, charset,
- outprecision, clipprecision, quality,
- family, facename);
- #endif
- }
- #endif // CreateFont
- // CreateWindow
- #if defined(CreateWindow)
- #undef CreateWindow
- inline HWND CreateWindow(LPCTSTR lpClassName,
- LPCTSTR lpWndClass,
- DWORD dwStyle,
- int x, int y, int w, int h,
- HWND hWndParent,
- HMENU hMenu,
- HINSTANCE hInstance,
- LPVOID lpParam)
- {
- #ifdef _UNICODE
- return CreateWindowW(lpClassName, lpWndClass, dwStyle, x, y, w, h,
- hWndParent, hMenu, hInstance, lpParam);
- #else
- return CreateWindowA(lpClassName, lpWndClass, dwStyle, x, y, w, h,
- hWndParent, hMenu, hInstance, lpParam);
- #endif
- }
- #endif
- // LoadMenu
- #ifdef LoadMenu
- #undef LoadMenu
- inline HMENU LoadMenu(HINSTANCE instance, LPCTSTR name)
- {
- #ifdef _UNICODE
- return LoadMenuW(instance, name);
- #else
- return LoadMenuA(instance, name);
- #endif
- }
- #endif
- // FindText
- #ifdef FindText
- #undef FindText
- inline HWND APIENTRY FindText(LPFINDREPLACE lpfindreplace)
- {
- #ifdef _UNICODE
- return FindTextW(lpfindreplace);
- #else
- return FindTextA(lpfindreplace);
- #endif
- }
- #endif
- // GetCharWidth
- #ifdef GetCharWidth
- #undef GetCharWidth
- inline BOOL GetCharWidth(HDC dc, UINT first, UINT last, LPINT buffer)
- {
- #ifdef _UNICODE
- return GetCharWidthW(dc, first, last, buffer);
- #else
- return GetCharWidthA(dc, first, last, buffer);
- #endif
- }
- #endif
- // FindWindow
- #ifdef FindWindow
- #undef FindWindow
- #ifdef _UNICODE
- inline HWND FindWindow(LPCWSTR classname, LPCWSTR windowname)
- {
- return FindWindowW(classname, windowname);
- }
- #else
- inline HWND FindWindow(LPCSTR classname, LPCSTR windowname)
- {
- return FindWindowA(classname, windowname);
- }
- #endif
- #endif
- // PlaySound
- #ifdef PlaySound
- #undef PlaySound
- #ifdef _UNICODE
- inline BOOL PlaySound(LPCWSTR pszSound, HMODULE hMod, DWORD fdwSound)
- {
- return PlaySoundW(pszSound, hMod, fdwSound);
- }
- #else
- inline BOOL PlaySound(LPCSTR pszSound, HMODULE hMod, DWORD fdwSound)
- {
- return PlaySoundA(pszSound, hMod, fdwSound);
- }
- #endif
- #endif
- // GetClassName
- #ifdef GetClassName
- #undef GetClassName
- #ifdef _UNICODE
- inline int GetClassName(HWND h, LPWSTR classname, int maxcount)
- {
- return GetClassNameW(h, classname, maxcount);
- }
- #else
- inline int GetClassName(HWND h, LPSTR classname, int maxcount)
- {
- return GetClassNameA(h, classname, maxcount);
- }
- #endif
- #endif
- // GetClassInfo
- #ifdef GetClassInfo
- #undef GetClassInfo
- #ifdef _UNICODE
- inline BOOL GetClassInfo(HINSTANCE h, LPCWSTR name, LPWNDCLASSW winclass)
- {
- return GetClassInfoW(h, name, winclass);
- }
- #else
- inline BOOL GetClassInfo(HINSTANCE h, LPCSTR name, LPWNDCLASSA winclass)
- {
- return GetClassInfoA(h, name, winclass);
- }
- #endif
- #endif
- // LoadAccelerators
- #ifdef LoadAccelerators
- #undef LoadAccelerators
- #ifdef _UNICODE
- inline HACCEL LoadAccelerators(HINSTANCE h, LPCWSTR name)
- {
- return LoadAcceleratorsW(h, name);
- }
- #else
- inline HACCEL LoadAccelerators(HINSTANCE h, LPCSTR name)
- {
- return LoadAcceleratorsA(h, name);
- }
- #endif
- #endif
- // DrawText
- #ifdef DrawText
- #undef DrawText
- #ifdef _UNICODE
- inline int DrawText(HDC h, LPCWSTR str, int count, LPRECT rect, UINT format)
- {
- return DrawTextW(h, str, count, rect, format);
- }
- #else
- inline int DrawText(HDC h, LPCSTR str, int count, LPRECT rect, UINT format)
- {
- return DrawTextA(h, str, count, rect, format);
- }
- #endif
- #endif
- // StartDoc
- #ifdef StartDoc
- #undef StartDoc
- // Work around a bug in very old MinGW headers that didn't define DOCINFOW
- // and DOCINFOA but only DOCINFO in both ANSI and Unicode.
- #if defined( __GNUG__ )
- #if !wxCHECK_W32API_VERSION( 0, 5 )
- #define DOCINFOW DOCINFO
- #define DOCINFOA DOCINFO
- #endif
- #endif
- #ifdef _UNICODE
- inline int StartDoc(HDC h, CONST DOCINFOW* info)
- {
- return StartDocW(h, (DOCINFOW*) info);
- }
- #else
- inline int StartDoc(HDC h, CONST DOCINFOA* info)
- {
- return StartDocA(h, (DOCINFOA*) info);
- }
- #endif
- #endif
- // GetObject
- #ifdef GetObject
- #undef GetObject
- inline int GetObject(HGDIOBJ h, int i, LPVOID buffer)
- {
- #ifdef _UNICODE
- return GetObjectW(h, i, buffer);
- #else
- return GetObjectA(h, i, buffer);
- #endif
- }
- #endif
- // GetMessage
- #ifdef GetMessage
- #undef GetMessage
- inline int GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)
- {
- #ifdef _UNICODE
- return GetMessageW(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
- #else
- return GetMessageA(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
- #endif
- }
- #endif
- // LoadIcon
- #ifdef LoadIcon
- #undef LoadIcon
- inline HICON LoadIcon(HINSTANCE hInstance, LPCTSTR lpIconName)
- {
- #ifdef _UNICODE
- return LoadIconW(hInstance, lpIconName);
- #else // ANSI
- return LoadIconA(hInstance, lpIconName);
- #endif // Unicode/ANSI
- }
- #endif // LoadIcon
- // LoadBitmap
- #ifdef LoadBitmap
- #undef LoadBitmap
- inline HBITMAP LoadBitmap(HINSTANCE hInstance, LPCTSTR lpBitmapName)
- {
- #ifdef _UNICODE
- return LoadBitmapW(hInstance, lpBitmapName);
- #else // ANSI
- return LoadBitmapA(hInstance, lpBitmapName);
- #endif // Unicode/ANSI
- }
- #endif // LoadBitmap
- // LoadLibrary
- #ifdef LoadLibrary
- #undef LoadLibrary
- #ifdef _UNICODE
- inline HINSTANCE LoadLibrary(LPCWSTR lpLibFileName)
- {
- return LoadLibraryW(lpLibFileName);
- }
- #else
- inline HINSTANCE LoadLibrary(LPCSTR lpLibFileName)
- {
- return LoadLibraryA(lpLibFileName);
- }
- #endif
- #endif
- // FindResource
- #ifdef FindResource
- #undef FindResource
- #ifdef _UNICODE
- inline HRSRC FindResource(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType)
- {
- return FindResourceW(hModule, lpName, lpType);
- }
- #else
- inline HRSRC FindResource(HMODULE hModule, LPCSTR lpName, LPCSTR lpType)
- {
- return FindResourceA(hModule, lpName, lpType);
- }
- #endif
- #endif
- // IsMaximized
- #ifdef IsMaximized
- #undef IsMaximized
- inline BOOL IsMaximized(HWND WXUNUSED_IN_WINCE(hwnd))
- {
- #ifdef __WXWINCE__
- return FALSE;
- #else
- return IsZoomed(hwnd);
- #endif
- }
- #endif
- // GetFirstChild
- #ifdef GetFirstChild
- #undef GetFirstChild
- inline HWND GetFirstChild(HWND WXUNUSED_IN_WINCE(hwnd))
- {
- #ifdef __WXWINCE__
- return 0;
- #else
- return GetTopWindow(hwnd);
- #endif
- }
- #endif
- // GetFirstSibling
- #ifdef GetFirstSibling
- #undef GetFirstSibling
- inline HWND GetFirstSibling(HWND hwnd)
- {
- return GetWindow(hwnd,GW_HWNDFIRST);
- }
- #endif
- // GetLastSibling
- #ifdef GetLastSibling
- #undef GetLastSibling
- inline HWND GetLastSibling(HWND hwnd)
- {
- return GetWindow(hwnd,GW_HWNDLAST);
- }
- #endif
- // GetPrevSibling
- #ifdef GetPrevSibling
- #undef GetPrevSibling
- inline HWND GetPrevSibling(HWND hwnd)
- {
- return GetWindow(hwnd,GW_HWNDPREV);
- }
- #endif
- // GetNextSibling
- #ifdef GetNextSibling
- #undef GetNextSibling
- inline HWND GetNextSibling(HWND hwnd)
- {
- return GetWindow(hwnd,GW_HWNDNEXT);
- }
- #endif
- // For WINE
- #if defined(GetWindowStyle)
- #undef GetWindowStyle
- #endif
- // For ming and cygwin
- // GetFirstChild
- #ifdef GetFirstChild
- #undef GetFirstChild
- inline HWND GetFirstChild(HWND h)
- {
- return GetTopWindow(h);
- }
- #endif
- // GetNextSibling
- #ifdef GetNextSibling
- #undef GetNextSibling
- inline HWND GetNextSibling(HWND h)
- {
- return GetWindow(h, GW_HWNDNEXT);
- }
- #endif
- #ifdef Yield
- #undef Yield
- #endif
- #if defined(__WXWINCE__) && defined(DrawIcon) //#ifdef DrawIcon
- #undef DrawIcon
- inline BOOL DrawIcon(HDC hdc, int x, int y, HICON hicon)
- {
- return DrawIconEx(hdc,x,y,hicon,0,0,0,NULL, DI_NORMAL) ;
- }
- #endif
- // GetWindowProc
- //ifdef GetWindowProc
- // #undef GetWindowProc
- //endif
- //ifdef GetNextChild
- // #undef GetNextChild
- //endif
- // #endif // _WX_WINUNDEF_H_
|