Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Несколько CToolBar в одну строку


Автор: Cheloveck 4.8.2010, 14:37
делаю
Код

bool LoadStandartToolBars(CMainWindow & wnd)
{
    mp_toolbar_main->Create(&wnd, m_tb_flags);
    mp_toolbar_main->SetWindowText(L"Основная панель");
    mp_toolbar_main->EnableDocking(CBRS_ALIGN_TOP);
    mp_toolbar_main->SetButtons(NULL, 8);
    wnd.DockControlBar(mp_toolbar_main);
    
    mp_toolbar_map->Create(&wnd, m_tb_flags);
    mp_toolbar_map->SetWindowText(L"Карты");
    mp_toolbar_map->SetButtons(NULL, 8);
    mp_toolbar_map->EnableDocking(CBRS_ALIGN_TOP);
    wnd.DockControlBar(mp_toolbar_map);
    
    mp_toolbar_table->Create(&wnd, m_tb_flags);
    mp_toolbar_table->SetWindowText(L"Таблицы");
    mp_toolbar_table->EnableDocking(CBRS_ALIGN_TOP);
    mp_toolbar_table->SetButtons(NULL, 8);
    wnd.DockControlBar(mp_toolbar_table);

    return true;
}


Код

m_tb_flags = WS_CHILD | WS_VISIBLE | CBRS_TOP | 
        CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_SIZE_DYNAMIC;

Создаются три панели, одна над другой
user posted image
Хочу, чтобы они были все в одну строку. Что-то я уже потерялся, куда копать?

Автор: Cheloveck 5.8.2010, 09:57
Нашёл один способ, кривоватый, но работает.
http://proggoodluck.narod.ru/code/visual/toolbar.htm 

Автор: Earnest 5.8.2010, 10:51
Почему кривоватый? Так и предусмотрено в MFC, по другому и не получится. 
Это вся поддержка докирования у них не то что кривовата, а просто слов приличных нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)