我正在尝试处理trackbar通知,但由于某种原因,GCC编译器抱怨TRBN_THUMBPOSCHANGING标识符未声明。
我已经包括了头球,

#include <commctrl.h>

并初始化控制装置,
INITCOMMONCONTROLSEX icex;
icex.dwICC = ICC_LISTVIEW_CLASSES | ICC_WIN95_CLASSES;
InitCommonControlsEx(&icex);

我也尝试了ICC_BAR_CLASSES和其他一些方法,而不是win95。
另外,我正在通过包含这个命令的bat文件编译
gcc foodplaner.o resources.o sqlite3.o -lgdi32 -lcomctl32 -o foodplaner.exe

创建轨迹栏没有问题,它会出现并可以控制。
我错过了什么?

最佳答案

TRBN_THUMBPOSCHANGING在Windows Vista及更高版本中可用。要使用它,必须在包含任何头文件之前将_WIN32_WINNT设置为应用程序支持的最低版本。这可以用代码实现

#define _WIN32_WINNT 0x0600  // Windows Vista

或者在编译器的命令行(-D_WIN32_WINNT=0x0600)。建议使用后者以防止引入任何不匹配。详见Using the Windows Headers

10-06 09:09