【问题标题】:SetWindowSubclass function from WinApiWinApi 中的 SetWindowSubclass 函数
【发布时间】:2020-02-06 23:27:26
【问题描述】:

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

我可以用它做些什么吗?

【问题讨论】:

标签: winapi mingw


【解决方案1】:

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

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

在 sdkddkver.h 中,_WIN32_WINNT_WINXP 定义为:

#define _WIN32_WINNT_WINXP  0x0501      /* Windows XP */

所以我们需要定义_WIN32_WINNT大于0x501

#define _WIN32_WINNT 0x502
#include <windows.h>
#include <stdio.h>
#include <commctrl.h>

你应该在 MinGW 中为这个 api 链接的库是 libcomctl32.a

另外推荐使用MSVC和VS工具,可以正确定义这些宏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多