Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 53

TPageControl изменение цвета

23.07.2012, 13:28. Показов 2617. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Я в программировании в Builder новичек, подскажите как изменить цвет фона TPageControl, где непосредственно отображается информация, а то он по умолчанию белый, а мне необходим clBtnFace. В Object Inspector свойства Color нет.
Заранее благодарю!

Добавлено через 21 час 48 минут
пробовал экспериментировать с XPColorMap, StandartColorMap, TwilightColorMap, но что бы я не менял, цвет нигде в форме не менялся.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2012, 13:28
Ответы с готовыми решениями:

Изменение цвета шрифта
В программе по событию меняю цвет шрифта CategoryPane, которая содержит в себе разные элементы, такие как Edit кнопки и прочее. При этом,...

Изменение цвета TMainMenu
Здравствуйте! Вопрос заключается в следующем: как изменить цвет MainMenu всего, не отдельно какого то элемента.

Изменение цвета в RichEdit
Всем добрый вечер. Задача Имеется файл fileLegal.txt в нем имена файлов с правильными путями, надо чтобы эти имена файлов в RichEdit1...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
23.07.2012, 14:25
Переопределяй WindowProc для всех табов, которые находятся на PageControl-е, лови в ней WM_ERASEBKGND, и по получению этого сообщения рисуй прямоугольник цвета clBtnFace на всей поверхности таба. Вот такой результат получается (для того, чтобы отрисовать и заголовок таба тем же цветом - надо рисовать его вручную, через OwnerDraw = true и OnDrawTab):
Миниатюры
TPageControl изменение цвета  
0
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 53
23.07.2012, 14:49  [ТС]
а не могли бы вы пример кода скинуть или какое нибудь обисание(для новичков) данного процесса
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
23.07.2012, 15:03
Header-файл:
C++
1
2
3
4
5
6
7
8
9
private:    // User declarations
    // Добавляем в класс
    void __fastcall (__closure *OldWndProc) (Messages::TMessage &Message);
    RECT Rect;
    void __fastcall SheetWndProc(Messages::TMessage &Message);
 
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
CPP-файл:

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
// дописываем реализацию новой оконной функции:
void __fastcall TForm1::SheetWndProc(Messages::TMessage &Message)
{
    switch (Message.Msg)
    {
        case WM_ERASEBKGND:
        {
            Brush->Color = clBtnFace;
            FillRect((HDC)Message.WParam, &Rect, Brush->Handle);
            Message.Result = 1;
            return; // Больше ничего делать не надо, выходим
        }
    }
    OldWndProc(Message); // Вызываем стандартную оконную функцию
}
 
// И назначаем эту функцию контролу при создании формы:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ::GetClientRect(TabSheet1->Handle, &Rect);
    OldWndProc = TabSheet1->WindowProc;
    TabSheet1->WindowProc = SheetWndProc;
}
 
// При разрушении формы, соответственно, чистим за собой
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    TabSheet1->WindowProc = OldWndProc;
}
2
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 53
23.07.2012, 20:07  [ТС]
а возможно уменьшить границы поля(указаны на скрине), чтобы небыло белых полос?
Миниатюры
TPageControl изменение цвета  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
23.07.2012, 20:56
Эти белые полосы не относятся к клиентской области вкладки, и убираются вместе с белым цветом заголовка только при отрисовке вручную, когда OwnerDraw = true, я написал выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2012, 20:56
Помогаю со студенческими работами здесь

Изменение цвета пикселя в opencv
Добрый вечер. Скажите, пожалуйста, есть ли какой-либо метод у opencv, который выполняет преобразование с изображением, делая его более...

Изменение цвета пикселя в C++ Builder 6
Буду банален - не пашет. Изображение ч\б. //--------------------------------------------------------------------------- #include...

Изменение цвета галочки в CheckBox
Всем здравствуйте! Можно ли как-нибудь изменить цвет галочки в компоненте CheckBox, если да - то как? А если нет, то чем можно заменить...

Chart , Series Изменение цвета!
Здравствуйте, в очередной раз прошу помощи. Есть некий Chart. И допустим две Series (Series1 и Series2) В программе- есть окно...

Изменение цвета двустрочного Caption
Я пишу программу в C++ Builder 6. Разместил на форме обычную кнопку Button. Надпись на кнопке, определяемая свойством Caption, по умолчанию...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru