Как добавить текстовую кнопку на панель инструментов в MFC


Мне нужно отобразить текстовую кнопку на панели инструментов в MFC. Как мне это сделать?

Я использую Visual Studio 2005, поэтому я не использую классы MFC Feature Pack.

Спасибо


person MikMik    schedule 15.10.2010    source источник


Ответы (1)


Попробуйте передать -1 в качестве индекса изображения и установить текстовый флаг кнопки:

toolBar.SetButtonInfo(buttonIndex, buttonId,
    TBBS_BUTTON | TBBS_AUTOSIZE | BTNS_SHOWTEXT, -1);
toolBar.SetButtonText(buttonIndex, "Button Text");
person Frédéric Hamidi    schedule 15.10.2010
comment
Это не совсем работает. Я получаю кнопку без изображения, но текст не отображается. Если я сделаю кнопки повыше, с помощью SetSizes, то я вижу текст, но под ним, где было бы изображение, если бы оно было. - person MikMik; 18.10.2010
comment
Элемент управления панели инструментов должен иметь TBSTYLE_LIST установлен бит стиля, поэтому текст кнопки располагается справа от изображения, а не под ним. - person Frédéric Hamidi; 18.10.2010
comment
На самом деле это не должно быть -1, должно быть -2 или I_IMAGENONE. В противном случае для -1 будет использоваться I_IMAGECALLBACK и панель инструментов будет отправлять вам ненужные LVN_GETDISPINFO сообщения. - person c00000fd; 05.07.2019