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


Автор: v2v 26.3.2007, 17:52
Необходимо создать MFC (SDI) приложение, которое будет содержать тулбар с разнообразными элементами управления, среди прочих Combo box и  Month Calendar. Этот тулбар будет распологатся вертикально справа от документа. В ресурсах я не могу добавить такие элементы на тулбар. как мне вообще это реализовать!?

Как я понял стандартным образом тулбар создаётся, с помощью: 

    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
        | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
        !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

а можно каким то образом ему подсунуть диалог бокс??
или есть какой то другой способ...


спасибо.

Автор: Earnest 26.3.2007, 18:11
Вместо CBRS_TOP поставь CBRS_RIGHT или _LEFT. Насчет ComboBox в вертикальный тулбар... как ты себе это представляешь? Аналогично другие контролы, которые по ширине больше стандартной кнопки...
А тулбар на основе диалог-бокса (ресурса, наверное ты имел в виду) называется dialog-bar. Создается по другому... Кроме того, с ресайзом и свободной пристыковкой там большие ограничения... 

Автор: zkv 26.3.2007, 18:34
v2v, советую наковырять в инете примерчиков (на codeproject например) и изучать их до посинения. С нуля вряд ли кто возьмется объяснять. Удачи!

Автор: v2v 26.3.2007, 19:07
2 Earnest

Ты как всегда меня выручаешь =).
CDialogBar именно то что мне нужно....

CDialogBar  m_wndDlgBar;
...
m_wndDlgBar.Create(this, IDD_TOOLBARDLG,CBRS_RIGHT/*LEFT*/|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_TOOLBARDLG);

И получилось именно так как я себе представлял(красиво).....

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