From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- public/sdk/inc/mfc42/afxv_w32.h | 208 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 public/sdk/inc/mfc42/afxv_w32.h (limited to 'public/sdk/inc/mfc42/afxv_w32.h') diff --git a/public/sdk/inc/mfc42/afxv_w32.h b/public/sdk/inc/mfc42/afxv_w32.h new file mode 100644 index 000000000..e97a5f210 --- /dev/null +++ b/public/sdk/inc/mfc42/afxv_w32.h @@ -0,0 +1,208 @@ +// This is a part of the Microsoft Foundation Classes C++ library. +// Copyright (C) 1992-1995 Microsoft Corporation +// All rights reserved. +// +// This source code is only intended as a supplement to the +// Microsoft Foundation Classes Reference and related +// electronic documentation provided with the library. +// See these sources for detailed information regarding the +// Microsoft Foundation Classes product. + +// afxv_w32.h - target version/configuration control for Win32 + +#ifdef _WINDOWS_ + #error WINDOWS.H already included. MFC apps must not #include +#endif + +// STRICT is the only supported option (NOSTRICT is no longer supported) +#ifndef STRICT +#define STRICT 1 +#endif + +// certain parts of WINDOWS.H are necessary +#undef NOKERNEL +#undef NOGDI +#undef NOUSER +#undef NODRIVERS +#undef NOLOGERROR +#undef NOPROFILER +#undef NOMEMMGR +#undef NOLFILEIO +#undef NOOPENFILE +#undef NORESOURCE +#undef NOATOM +#undef NOLANGUAGE +#undef NOLSTRING +#undef NODBCS +#undef NOKEYBOARDINFO +#undef NOGDICAPMASKS +#undef NOCOLOR +#undef NOGDIOBJ +#undef NODRAWTEXT +#undef NOTEXTMETRIC +#undef NOSCALABLEFONT +#undef NOBITMAP +#undef NORASTEROPS +#undef NOMETAFILE +#undef NOSYSMETRICS +#undef NOSYSTEMPARAMSINFO +#undef NOMSG +#undef NOWINSTYLES +#undef NOWINOFFSETS +#undef NOSHOWWINDOW +#undef NODEFERWINDOWPOS +#undef NOVIRTUALKEYCODES +#undef NOKEYSTATES +#undef NOWH +#undef NOMENUS +#undef NOSCROLL +#undef NOCLIPBOARD +#undef NOICONS +#undef NOMB +#undef NOSYSCOMMANDS +#undef NOMDI +#undef NOCTLMGR +#undef NOWINMESSAGES + +#ifndef WIN32 +#define WIN32 +#endif + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif + +#ifdef _UNICODE +#ifndef UNICODE +#define UNICODE // UNICODE is used by Windows headers +#endif +#endif + +#ifdef UNICODE +#ifndef _UNICODE +#define _UNICODE // _UNICODE is used by C-runtime/MFC headers +#endif +#endif + +#ifdef VC_EXTRALEAN +#define WIN32_EXTRA_LEAN +#define NOSERVICE +#define NOMCX +#define NOIME +#define NOSOUND +#define NOCOMM +#define NOKANJI +#define NORPC +#define NOPROXYSTUB +#define NOIMAGE +#define NOTAPE + +#ifndef NO_ANSIUNI_ONLY +#ifdef _UNICODE +#define UNICODE_ONLY +#else +#define ANSI_ONLY +#endif +#endif //!NO_ANSIUNI_ONLY + +#endif //VC_EXTRALEAN + +#ifdef _MAC +#define _WIN32NLS +#define _WIN32REG +#define _WLM_NOFORCE_LIBS +#ifdef _AFXDLL +#define _WLMDLL +#endif +#endif + +///////////////////////////////////////////////////////////////////////////// +// Turn off warnings for /W4 +// To resume any of these warning: #pragma warning(default: 4xxx) +// which should be placed after the AFX include files + +#ifndef ALL_WARNINGS +#pragma warning(disable: 4201) // winnt.h uses nameless structs +#endif + +#include + +struct HKEY__; +typedef struct HKEY__ *HKEY; + +#ifndef _INC_COMMCTRL + #include +#endif + +#ifndef EXPORT +#define EXPORT +#endif + +#ifndef _INC_TCHAR + #include // used for ANSI v.s. UNICODE abstraction +#endif +#ifdef _MBCS +#ifndef _INC_MBCTYPE + #include +#endif +#ifndef _INC_MBSTRING + #include +#endif +#endif + +///////////////////////////////////////////////////////////////////////////// +// Now for the Windows API specific parts + +// WM_CTLCOLOR for 16 bit API compatability +#define WM_CTLCOLOR 0x0019 + +// Win32 uses macros with parameters for this, which breaks C++ code. +#ifdef GetWindowTask +#undef GetWindowTask +inline HTASK GetWindowTask(HWND hWnd) + { return (HTASK)::GetWindowThreadProcessId(hWnd, NULL); } +#endif + +// Win32 uses macros with parameters for this, which breaks C++ code. +#ifdef GetNextWindow +#undef GetNextWindow +inline HWND GetNextWindow(HWND hWnd, UINT nDirection) + { return ::GetWindow(hWnd, nDirection); } +#endif + +// Avoid Win95 mapping CToolBar::DrawState to DrawState[A/W] +#ifdef DrawState +#undef DrawState +inline BOOL WINAPI DrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC lpOutputFunc, + LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT fuFlags) +#ifdef UNICODE + { return ::DrawStateW(hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, + fuFlags); } +#else + { return ::DrawStateA(hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, + fuFlags); } +#endif +#endif + +// Avoid Win95 mapping CStatusBar::DrawStatusText to DrawStatusText[A/W] +#ifdef DrawStatusText +#undef DrawStatusText +inline void WINAPI DrawStatusText(HDC hDC, LPRECT lprc, LPCTSTR szText, + UINT uFlags) +#ifdef UNICODE + { ::DrawStatusTextW(hDC, lprc, szText, uFlags); } +#else + { ::DrawStatusTextA(hDC, lprc, szText, uFlags); } +#endif +#endif + +#ifndef _MAC +// FreeResource is not required except on Mac platforms +#undef FreeResource +inline BOOL WINAPI FreeResource(HGLOBAL) { return TRUE; } +// UnlockResource is not required except on Mac platforms +#undef UnlockResource +inline int WINAPI UnlockResource(HGLOBAL) { return 0; } +#endif + +///////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3