2016-08-31 47 views
0

我试图处理trackbar通知,但由于某种原因,我的GCC编译器抱怨TRBN_THUMBPOSCHANGING标识符未声明。WinApi Commctrl trackbar标识符undeclared

我已经包括了头,

#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 

创建的TrackBar是没有问题的,它显示了和可以控制的。 我错过了什么?

回答

2

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

#define _WIN32_WINNT 0x0600 // Windows Vista 

或您的编译器的命令行()。后者建议防止引入任何不匹配。详情请参阅Using the Windows Headers