Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
117 / 83 / 39
Регистрация: 06.01.2013
Сообщений: 274

Вертикальные вкладки с горизонтальным текстом

27.10.2022, 12:43. Показов 888. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать вертикальные вкладки с горизонтальным текстом в с++. Стандартно в System::Windows::Forms::TabControl, если выбрать расположение вкладок справа или слева, текст поворачиваеться. На просторах интернета предлагают писать класс самостоятельно. Для C# есть следующий код:
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
using System;
using System.Drawing;
using System.Windows.Forms;
 
class VerticalTabControl : TabControl {
    public VerticalTabControl() {
        this.Alignment = TabAlignment.Right;
        this.DrawMode = TabDrawMode.OwnerDrawFixed;
        this.SizeMode = TabSizeMode.Fixed;
        this.ItemSize = new Size(this.Font.Height * 3 / 2, 75);
    }
    public override Font Font {
        get { return base.Font;  }
        set {
            base.Font = value;
            this.ItemSize = new Size(value.Height * 3 / 2, base.ItemSize.Height);
        }
    }
    protected override void OnDrawItem(DrawItemEventArgs e) {
        using (var _textBrush = new SolidBrush(this.ForeColor)) {
            TabPage _tabPage = this.TabPages[e.Index];
            Rectangle _tabBounds = this.GetTabRect(e.Index);
 
            if (e.State != DrawItemState.Selected) e.DrawBackground();
            else {
                using (var brush = new System.Drawing.Drawing2D.LinearGradientBrush(e.Bounds, Color.White, Color.LightGray, 90f)) {
                    e.Graphics.FillRectangle(brush, e.Bounds);
                }
            }
 
            StringFormat _stringFlags = new StringFormat();
            _stringFlags.Alignment = StringAlignment.Center;
            _stringFlags.LineAlignment = StringAlignment.Center;
            e.Graphics.DrawString(_tabPage.Text, this.Font, _textBrush, _tabBounds, new StringFormat(_stringFlags));
        }
    }
}
Добавлено через 2 часа 40 минут
Я начал с
C++
1
2
3
4
5
6
7
8
9
10
11
12
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
        
ref class VerticalTabControl: public System::Windows::Forms::TabControl {
   public: VerticalTabControl() {
     this->Alignment = TabAlignment::Right;
     this->DrawMode = TabDrawMode::OwnerDrawFixed;
     this->SizeMode = TabSizeMode::Fixed;
     this->ItemSize = System::Drawing::Size(this->Font->Height*3/2, 75);
   }
};
но дальше не понимаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2022, 12:43
Ответы с готовыми решениями:

Вертикальные вкладки на странице, новые вкладки, старые не удаляет
<div id="tabs" class="minsk_aweek"> <nav class="navTabs"> <a class="nav_tabs_link active" href="#tamMinsk1"> ...

Как убрать "вертикальные вкладки"?
Как убрать вот эту фигню

Проблема с горизонтальным скроллом
Всем привет, практикуюсь в адаптивной верстке, назрел один вопрос, который я не могу решить уже часа 2. На сайте есть картинка, на...

2
Заблокирован
30.10.2022, 11:15
вроде этого?
Миниатюры
Вертикальные вкладки с горизонтальным текстом  
0
117 / 83 / 39
Регистрация: 06.01.2013
Сообщений: 274
30.10.2022, 14:10  [ТС]
CoderPC, да
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2022, 14:10
Помогаю со студенческими работами здесь

Сайт с горизонтальным скроллингом
Добрый день! Подскажите пожалуйста, как реализовать подобное: https://www.skazochniyles.ru/ Есть какой-то jquery-плагин? ...

Глюк с горизонтальным меню
Доброго здоровьица, господа. Кто может сталкивался с нижеизложенной проблемой? Вообщем стандартное меню (скриншот)...

Сделать TabControl горизонтальным
Есть ли способы перевернуть TabControl из вертикального вида в горезонтальный... Весь день парюсь!!!

Вертикальное меню стало горизонтальным
Точне сказать не горизонтальным, а кривым. И это после изменения верхнего горизонтального меню. Подскажите начинающему. Хотя бы причину. ...

Выпадающее меню горизонтальным списком
Сделать само меню у меня не составляет труда используя средства html/css вопрос в том что выпадающее подменю должно быть...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru