WinApi中的SetWindowSubclass函数

问题描述 投票:0回答:1

[试图通过MinGW编译使用SetWindowSubclass函数的代码,但是编译器告诉我没有这样的函数。在头文件commctrl.h中找到函数的声明,似乎已被某些定义排除:

image

我可以做任何事情吗?

winapi mingw
1个回答
0
投票

我已经在MinGW的Code :: Blocks中使用SetWindowSubclass重新创建了相同的问题。

#if条件语句可以看出,_WIN32_WINNT必须大于_WIN32_WINNT_WINXP(代表Windows XP,因为SetWindowSubclass的最低支持客户端是Windows XP)

在sdkddkver.h中,SetWindowSubclass定义为:

_WIN32_WINNT_WINXP

所以我们需要定义#define _WIN32_WINNT_WINXP 0x0501 /* Windows XP */ 大于_WIN32_WINNT

0x501

您应在MinGW中为此API链接的库是#define _WIN32_WINNT 0x502 #include <windows.h> #include <stdio.h> #include <commctrl.h>

此外,建议使用MSVC和VS工具,它可以正确定义这些宏。

© www.soinside.com 2019 - 2024. All rights reserved.