Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
9 / 7 / 2
Регистрация: 13.11.2014
Сообщений: 51

Красивое расположение контролбаров

01.08.2018, 14:24. Показов 802. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Столкнулся со следующей сложностью. В оконном приложении внизу прикреплены ControlBar'ы, которые по нажатию на них выезжают со своим наполнением и сворачиваются. Если сделать, чтоб оба контрола были открыты всегда (значок между крестиком и стрелочкой на втором скриншоте), то они располагаются друг над другом как на скриншоте, а нужно, чтобы они были как бы во вкладках и их содержимое выводилось бы в одном окне. Как такое реализовать? Заранее спасибо.

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2018, 14:24
Ответы с готовыми решениями:

Работа с окнами (расположение окон каскадом,расположение окон вертикально,расположение окон)
не работает private void расположениеОконКаскадомToolStripMenuItem_Click(object sender, EventArgs e) private void...

Красивое число
Маша рассказала Толе, что считает трехзначное число красивым, если в нём полусумма максимальной и минимальной по значению цифр равна...

Красивое имя
Напишите программу, которая красиво рисует имя своего автора. Каждую букву надо нарисовать с помощью графических примитивов (линий, дуг и...

1
9 / 7 / 2
Регистрация: 13.11.2014
Сообщений: 51
01.08.2018, 14:37  [ТС]
Чуть-чуть кода, если что класс EpricaBar наследник от DockingControlBar. Это классы из пакета cbcg - надстройка над mfc, но принципы все те же самые. Может кто скажет как в mfc сделать заявленную задачу, а уж в этом пакете я разберусь.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
class CMainFrame : public CBCGPMDIFrameWnd
{
 
....
 
EpricaBar               m_cartbar;
EpricaBar               m_infobar;
CBCGPTabbedControlBar m_botttabs;
 
}
 
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
  ...
 
  m_botttabs.Create(_T("Tabbedbar"), this, CRect(0, 0, 200, 200), true, -1, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI | CBRS_BOTTOM);
 
    if (!m_cartbar.Create (_T("Корзина заказа"), &m_botttabs, CSize (150, 150),
        TRUE, ID_VIEW_CART_CDBAR,
        WS_CHILD | WS_VISIBLE | CBRS_BOTTOM))
    {
        TRACE0("Failed to create output bar\n");
        return -1;      // fail to create
    }
 
    barStyle = m_cartbar.GetBarStyle();
    barStyle &= ~CBRS_FLOATING;
    barStyle &= ~CBRS_GRIPPER;
    m_cartbar.SetBarStyle(barStyle);
    m_cartbar.EnableDocking(CBRS_ALIGN_ANY);
    m_cartbar.SetBCGStyle(CBRS_BCGP_RESIZE | CBRS_BCGP_CLOSE | CBRS_BCGP_AUTOHIDE);
 
    HICON hCartIcon = (HICON)::LoadImage(
        hInstance, MAKEINTRESOURCE(IDI_CART), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
    m_cartbar.SetIcon(hCartIcon, FALSE);
 
    CCartPanel* pCartPanel = new CCartPanel();
    pCartPanel->Create(IDD_CART_PANEL, &m_cartbar.getWndTabs()); 
    m_cartbar.AddPage(pCartPanel, _T(/*"Корзина заказа")*/"")); 
 
    if (!m_infobar.Create (_T("Информация"), &m_botttabs, CSize (150, 150),
        TRUE, ID_VIEW_INFO_CDBAR,
        WS_CHILD | WS_VISIBLE | CBRS_BOTTOM))
    {
        TRACE0("Failed to create output bar\n");
        return -1;      // fail to create
    }
 
    barStyle = m_infobar.GetBarStyle();
    barStyle &= ~CBRS_FLOATING;
    barStyle &= ~CBRS_GRIPPER;
    m_infobar.SetBarStyle(barStyle);
    m_infobar.EnableDocking(CBRS_ALIGN_ANY);
    m_infobar.SetBCGStyle(CBRS_BCGP_RESIZE | CBRS_BCGP_CLOSE | CBRS_BCGP_AUTOHIDE);
 
    CInfoPanel* pInfpanel = new CInfoPanel();
 
    pInfpanel->Create(IDD_INFO_PANEL,&m_infobar.getWndTabs());
 
    m_infobar.AddPage(pInfpanel, _T(/*"Информация"*/""));
 
    m_botttabs.EnableDocking(CBRS_ALIGN_ANY);
 
    m_botttabs.AddTab(&m_infobar);
    m_botttabs.AddTab(&m_cartbar);
 
    DockControlBar(&m_botttabs); 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.08.2018, 14:37
Помогаю со студенческими работами здесь

Красивое GUI на с++
Сегодня задался вопросом,кто как создается красивое гуи на с++?Без использование QT и .NET платформы.

Красивое оповещение
Привет всем, нужно сделать красивое оповещение, что то подобное как в Linux Ubuntu. Подскажите как это вообще реализуется, в какую сторону...

Красивое решение
Работала себе sub1. В ней вызывалась sub2 в цикле много раз. Но вот появилась необходимость процедуре sub1 работать в двух режимах: с...

Красивое меню
Доброго времени суток, форумчане. Хотелось бы попросить помощи, как сделать вот такое : https://ya.free-browser.ru/ навигационное меню на...

Красивое всплывающее окно
У кого нить есть на него код?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru