Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

_WIN32_IE and WTL ?

94 views
Skip to first unread message

Dixzy

unread,
Jun 1, 2001, 6:10:38 PM6/1/01
to
Hi all
I'm trying to compile the following WTL example
http://www.codeproject.com/wtl/kpad.asp
and I've run into problems.
Where or how are symbols like _WIN32_IE defined? I am getting the following
error:

atlframe.h(277) : error C2501: 'LPNMREBARCHEVRON' : missing storage-class or
type specifiers

'LPNMREBARCHEVRON' is defined in commctrl.h like so:

#if (_WIN32_IE >= 0x0500)
typedef struct tagNMREBARCHEVRON
{
NMHDR hdr;
UINT uBand;
UINT wID;
LPARAM lParam;
RECT rc;
LPARAM lParamNM;
} NMREBARCHEVRON, *LPNMREBARCHEVRON;
#endif

So, am I correct to assume that the problem is being caused by _WIN32_IE. I
am running Windows 98 and Internet explorer 5.5.


cheers

Dixzy


Gg

unread,
Jun 1, 2001, 10:27:15 PM6/1/01
to
i don´t know if this is going to help but there is a group for wtl related
issues at http://groups.yahoo.com/group/wtl

Gabriel


"Dixzy" <my_email_address_is:dixzy(at)hotmail.com> escribió en el mensaje
news:thg4naf...@corp.supernews.co.uk...

Ron Ruble

unread,
Jun 2, 2001, 6:43:00 AM6/2/01
to

Dixzy wrote in message ...

>Hi all
>I'm trying to compile the following WTL example
>http://www.codeproject.com/wtl/kpad.asp
>and I've run into problems.
>Where or how are symbols like _WIN32_IE defined?

You need to define the symbol yourself, either in the
project settings, or in stdafx.h, before the #includes (or
another common header if you aren't using precompiled headers)

Check the section "Using the SDK Headers" in the
Platform SDK section of the MSDN documentation.

Excerpt:

"This version of the Platform SDK can be used to
target applications for Microsoft® Windows® 95,
Microsoft Windows NT® 4.0, Microsoft
Windows® 98, and Microsoft Windows 2000
using the header file conventions below.

The makefiles generated by Microsoft Visual C++®
5.0 and 6.0 target Windows NT 3.51 by default.

<note: by default, newer features of the OS are
*not* available>

To use functions introduced in Windows NT 4.0
or later, which are protected by conditional code,
you must define the appropriate macros.
Otherwise, you will receive the following error
message from the compiler: error C2065:
undeclared identifier. You may also need to
ensure that the INCLUDE environment variable
has the path to the Platform SDK header files
listed before the path to the Visual C++ header
files. Otherwise, you will receive error C2065
for items that were introduced after Visual
C++ was released.

The following table indicates the macros you
must define to target each system using the
SDK headers.

Minimum System Required Macros to Define
Windows 95 and Windows NT 4.0 WINVER=0x0400
Windows 98 and Windows NT 4.0 _WIN32_WINDOWS
=0x0410 and WINVER=0x0400
Windows NT 4.0 _WIN32_WINNT=0x0400 and
WINVER=0x0400
Windows 98 and Windows 2000 WINVER=0x0500
Windows 2000 _WIN32_WINNT=0x0500 and
WINVER=0x0500
Whistler _WIN32_WINNT=0x0501 and WINVER
=0x0501
Internet Explorer 3.0 _WIN32_IE=0x0300
Internet Explorer 4.0 _WIN32_IE=0x0400
Internet Explorer 5.0 _WIN32_IE=0x0500

Note: Setting WINVER to 0x0500 implies _WIN32_IE
=0x0400."


0 new messages