• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

C++ Помогите с тулбаром в Win32 Api

  • Автор темы SiNn3R
  • Дата начала
S

SiNn3R

Сейчас изучаю Win32 Api в Visual C++. Так вот, столкнулся с проблемой при создании тулбара (пример из книги К.Г.Финогенова).

1) Создаю файл с тремя изобр. кнопок (16x16) - buttons.bmp.

2) Открываю файл ресурсов .rc и вписываю:
ID_BTNS BITMAP "buttons.bmp"

3) В Resource.h добовляю это:
#define ID_BTNS 400 // Идентификатор ресурса - файла с изображением кнопок
#define ID_BUT1 3001
#define ID_BUT2 3002
#define ID_BUT3 3003

4) В WndProc, в WM_CREATE пишу это:

TBBUTTON tbb[3]; //Массив структур TBBUTTON
ZeroMemory(&tbb,sizeof(tbb)); //Обнулим весь массив структур
tbb[0].iBitmap=0; //Порядковый номер кнопки I
tbb[0].idCommand=ID_BUT1; //Идентификатор кнопки 1
tbb[0].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 1
tbb[1].iBitmap=1; //Порядковый номер кнопки 2
tbb[1].idCommand=ID_BUT2; //Идентификатор кнопки 2
tbb[1].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 2
tbb[2].iBitmap=2; // Порядковый номер кнопки 3
tbb[2].idCommand=ID_BUT3; //Идентификатор кнопки 3
tbb[2].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 3
CreateToolbarEx(hWnd,WS_CHILD|WS_BORDER|WS_VISIBLE,-1,3,hInst,ID_BTNS,tbb,3,16,16,16,16,sizeof(TBBUTTON)); //Создаем инструментальную панель

В результате чего получаю банан:
Error 1 error LNK2019: unresolved external symbol __imp__CreateToolbarEx@52 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 001.obj
 
E

European

comctl32.lib не прилинкован, поэтому и банан
 
S

SiNn3R

Да нет, вроде файл прилинкован, я пробывал и вручную указывать директорию:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

Если не ошибаюсь.

У меня Visual Studio 2008, там эта папка прописана по умолчанию...

Ошибка не исчезла... Поделитесь, пожалуйста, какие есть еще методы создания тулбара.
 
S

SiNn3R

Спасибо, просто я пока новичек и многого еще не знаю:(
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!