wxWidgets/include/wx/msw/winundef.h
Vadim Zeitlin 7cc98b3e3f 1. minor fixes in wxDynLib
2. added more symbols to winundef.h
3. fixed wxTextFile::IsOpen() - now it does what you'd suppose
4. listctrl now updates the item image when it changes
5. file dlg checks for an error and gives a message about it (debug only)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-07-10 00:50:16 +00:00

227 lines
4.9 KiB
C

/////////////////////////////////////////////////////////////////////////////
// Name: winundef.h
// Purpose: undefine the common symbols #define'd by <windows.h>
// Author: Vadim Zeitlin
// Modified by:
// Created: 16.05.99
// RCS-ID: $Id$
// Copyright: (c) wxWindows 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.
// ----------------------------------------------------------------------------
// 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
// 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
#ifdef __GNUWIN32__
#define DOCINFOW DOCINFO
#define DOCINFOA DOCINFO
#endif
#ifdef _UNICODE
inline int StartDoc(HDC h, CONST DOCINFOW* info)
{
return StartDocW(h, info);
}
#else
inline int StartDoc(HDC h, CONST DOCINFOA* info)
{
return StartDocA(h, 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
// LoadLibrary
#ifdef LoadLibrary
#undef LoadLibrary
inline HINSTANCE LoadLibrary(LPCTSTR lpLibFileName)
{
#ifdef _UNICODE
return LoadLibraryW(lpLibFileName);
#else
return LoadLibraryA(lpLibFileName);
#endif
}
#endif
// For WINE
#if defined(GetWindowStyle) || defined(__WXWINE__)
#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
// GetWindowProc
//ifdef GetWindowProc
// #undef GetWindowProc
//endif
//ifdef GetNextChild
// #undef GetNextChild
//endif
// #endif // _WX_WINUNDEF_H_