Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тулбар: иконки + текст, в диалоге 
:(
    Опции темы
DoZENT
Дата 10.2.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Привет всем! Создаю в диалоге тулбар вот так:
Код

    m_wndToolBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS |
        CBRS_FLYBY | CBRS_BORDER_BOTTOM);
    m_wndToolBar.LoadToolBar(IDR_MAINTOOLBAR);

    CRect rcClientStart;
    CRect rcClientNow;
    GetClientRect(rcClientStart);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,
        0, reposQuery, rcClientNow);
    CPoint ptOffset(rcClientNow.left - rcClientStart.left,
        rcClientNow.top - rcClientStart.top);

    CRect rcChild;
    CWnd* pwndChild = GetWindow(GW_CHILD);
    while (pwndChild)
    {
        pwndChild->GetWindowRect(rcChild);
        ScreenToClient(rcChild);
        rcChild.OffsetRect(ptOffset);
        pwndChild->MoveWindow(rcChild, FALSE);
        pwndChild = pwndChild->GetNextWindow();
    }

    CRect rcWindow;
    GetWindowRect(rcWindow);
    rcWindow.right += rcClientStart.Width() - rcClientNow.Width();
    rcWindow.bottom += rcClientStart.Height() - rcClientNow.Height();
    MoveWindow(rcWindow, FALSE);    

    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

все вроде работает.. а теперь мне нужно сделать так, чтобы в кнопке справа от иконки отображалась надпись.. Как?... 
З.Ы. пробовал делать так:
Код

    TBBUTTON button = {0};

    m_wndToolBar.GetToolBarCtrl().GetButton(0, &button);
    button.fsStyle &= TBSTYLE_LIST;
    m_wndToolBar.GetToolBarCtrl().InsertButton(1, &button);

    m_wndToolBar.GetToolBarCtrl().AddString(IDS_STATUS_READY);
    m_wndToolBar.GetToolBarCtrl().AddString(IDS_STATUS_READY);

 
но текст вообще не отображается..


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
DoZENT
Дата 11.2.2008, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



ну никто не знает как с тулбаром чтоли работать?? плюсы не пожалею smile


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
dizzy1984
Дата 12.2.2008, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 10
Всего: 25



Я бегло посмотрел на методы CToolBar - создается впечатление, что он этого не умеет. Либо ты рисуешь битмап, либо ставишь текст. Конечно, приходит мысль нарисовать текст прямо в битмапе, но это как-то кривовато. Возможно, я не прав и это можно сделать - попробуй изучить BARTOOL.CPP который содержит описание CToolBar, но похоже сам код отрисовки находится в comctl32.dll. То что ты хочешь умеет делать ultimate toolbox и бесплатная часть profuis.
PM MAIL   Вверх
DoZENT
Дата 12.2.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



ОК, тогда такой вопрос: я правильно понимаю, что по лицензии я не могу продавать свои программы, которые используют бесплатную версию profuis?


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
santus
Дата 12.2.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



Все дело в том что ты не правильно установил стиль для кнопки. 
Вместо
Код

button.fsStyle &= TBSTYLE_LIST;

нужно
Код

button.fsStyle |= TBSTYLE_LIST;


также для установки текста можно использовать метод SetButtonText класса CToolBar
Код

m_wndToolBar.SetButtonText(0, _T("Some text"));

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.