Необъявленный идентификатор трекбара в WinApi Commctrl
Я пытаюсь обработать трекбар, но по какой-то причине мой компилятор 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 ответ
TRBN_THUMBPOSCHANGING
доступно в Windows Vista и выше. Чтобы использовать его, вы должны установить _WIN32_WINNT
до минимальной поддерживаемой версии вашего приложения до включения любых заголовочных файлов. Это можно сделать в коде
#define _WIN32_WINNT 0x0600 // Windows Vista
или в командной строке вашего компилятора (-D_WIN32_WINNT=0x0600
). Последнее рекомендуется для предотвращения любых несоответствий. См. Использование заголовков Windows для деталей.