WinApi Commctrl轨迹栏标识符未声明

时间:2016-08-31 09:13:24

标签: c windows winapi gcc 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

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

1 个答案:

答案 0 :(得分:2)

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

中完成
#define _WIN32_WINNT 0x0600  // Windows Vista

或在编译器的命令行(-D_WIN32_WINNT=0x0600)上。建议后者防止引入任何不匹配。有关详细信息,请参阅Using the Windows Headers