未声明的 WinApi Commctrl 轨迹栏标识符
WinApi Commctrl trackbar identifier undeclared
我正在尝试处理轨迹栏通知,但出于某种原因,我的 GCC 编译器抱怨 TRBN_THUMBPOSCHANGING
标识符未声明。
我已经包含了 header,
#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。
我正在尝试处理轨迹栏通知,但出于某种原因,我的 GCC 编译器抱怨 TRBN_THUMBPOSCHANGING
标识符未声明。
我已经包含了 header,
#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。