7cc98b3e3f
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
227 lines
4.9 KiB
C
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_
|
|
|