Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592

перекрасить StringGrid

28.08.2011, 21:24. Показов 1769. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли перекрасить StringGrid в другой цвет отличный от белого - не сами строки и ячейки, а именно фон когда яцеек нет
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.08.2011, 21:24
Ответы с готовыми решениями:

Перекрасить цвет шрифта в ячейке таблицы Ehlib
Добрый день! Подскажите как изменить цвет шрифта в ячейке таблицы DBGridEh в зависимости от содержимого Т.е. если значение...

Запустить Color Dialog и перекрасить вершину в другой цвет
Всем доброго времени суток. Задача такая.При нажатии на канве у меня рисуется вершина графа (обычный кружок) и заносятся координаты точек в...

Вывести данные из StringGrid-ов на двух формах в StringGrid на третьей форме
Помогите,не разбираюсь,только учусь:(:wall:...Вообщем,имеется программа с 3 формами. На первой из них находится вводный StringGrid с...

17
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
28.08.2011, 22:02
этот вопрос обсуждался настолько часто, что стоит только правильно сформулировать запрос для поиска
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
28.08.2011, 22:09  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
этот вопрос обсуждался настолько часто, что стоит только правильно сформулировать запрос для поиска
Не читаете же вопрос - не ячейки закрашивать а фон поменять компонента самого - а про это в поиске ниче не выдало - про ячейки да есть полно
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
28.08.2011, 22:13
1. разясните мне разницу между фоном ячейки и компонента, и закраской ячеек в цикле
2. у грида должна быть канва - ее и красьте
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
28.08.2011, 22:30  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
1. разясните мне разницу между фоном ячейки и компонента, и закраской ячеек в цикле
2. у грида должна быть канва - ее и красьте
1. область ячеек может быть меньше чем сам компонент, поэтому красить ячейки в цикле не актуально - а так в принципе нет разницы
2. с канвой канечно согласен, а как сделать чтобы он в самом начале покрасил и все в FormCreate не получается, а в DrawCell чето не то получается
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.08.2011, 01:57
может, в FormPaint
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 07:24  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
может, в FormPaint
Не получается так. У самого компонента нет OnPaint а если у формы брать то закрашивает все и ячеек не видно. Делаю в FormPaint:
C++
1
2
3
DataGrid->Repaint();
DataGrid->Canvas->Brush->Color = clAppWorkSpace;
DataGrid->Canvas->FillRect(DataGrid->Canvas->ClipRect);
а если
C++
1
2
3
DataGrid->Canvas->Brush->Color = clAppWorkSpace;
DataGrid->Canvas->FillRect(DataGrid->Canvas->ClipRect
DataGrid->Repaint();
то оставшаяся от ячеек область опять белая
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.08.2011, 08:18
Два способа!!!
1. Все канвой перекрашиваешь + ячейки
2. Наследуешь компонент и добавляешь свойство цвета формы!!
Я за второй
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 08:25  [ТС]
Цитата Сообщение от pomkalk Посмотреть сообщение
Два способа!!!
1. Все канвой перекрашиваешь + ячейки
2. Наследуешь компонент и добавляешь свойство цвета формы!!
Я за второй
в смысле наследуешь - он же изначально вроде как на форме расположен - только Parentcolor=true эффекта не дает.

Извратился вот так в OnPaint, но изначально он не закрашивает, только после какого то действия с формой, в FormCreate вызов Repaint также эффекта не дает
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
DataGrid->Canvas->Brush->Color = clAppWorkSpace;
TRect Rect;
int x=0;
int y=0;
for(int i=0;i<DataGrid->ColCount;i++)
    {
    x+=DataGrid->ColWidths[i];
    }
for(int i=0;i<DataGrid->RowCount;i++)
    {
    y+=DataGrid->RowHeights[i];
    }
if(x<DataGrid->Width)
    {
    Rect.Left = x;
    Rect.Top=0;
    Rect.Right = DataGrid->Width;
    Rect.Bottom = DataGrid->Height;
    DataGrid->Canvas->FillRect(Rect);
    }
if(y<DataGrid->Height)
    {
    Rect.Left=0;
    Rect.Top = y;
    Rect.Right = DataGrid->Width;
    Rect.Bottom = DataGrid->Height;
    DataGrid->Canvas->FillRect(Rect);
    }
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
29.08.2011, 08:36
Эм... а разве у TStringGrid'а нету такого полезного свойства, как Color?
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 08:42  [ТС]
Цитата Сообщение от NiTan Посмотреть сообщение
Эм... а разве у TStringGrid'а нету такого полезного свойства, как Color?
есть, только оно не знаю для чего так для формальности наверное))) При его изменении вообще ничего не происходит
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.08.2011, 08:44
Цитата Сообщение от Miller-1981 Посмотреть сообщение
в смысле наследуешь
В смысле наследуешь и переделываешь компонент как тебе нужно, из всего что я встречам, меня удовлетворяют только стандартные компоненты GTK+, но VCL с этим не справляется, очень много нужно переделывать под свои нужды что бы не извращаться с компонентом всяко разно
0
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 08:59  [ТС]
Цитата Сообщение от pomkalk Посмотреть сообщение
В смысле наследуешь и переделываешь компонент как тебе нужно, из всего что я встречам, меня удовлетворяют только стандартные компоненты GTK+, но VCL с этим не справляется, очень много нужно переделывать под свои нужды что бы не извращаться с компонентом всяко разно
т.е. нельзя закрасить нормально в StringGrid?
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.08.2011, 09:24
Я не помню, в 20** Borland'e там ячейки объемные как бы были, там вроде было нельзя, а вообще попробуй поиграть со свойствами(syle или drawstyle как то так) там должны быть стиля при которых цвет меняется. вроде так
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
29.08.2011, 09:38
Цитата Сообщение от Miller-1981 Посмотреть сообщение
есть, только оно не знаю для чего так для формальности наверное)))
Да вот нет, не для формальности. Это свойство отвечает за цвет фона StringGrid'а. Во всяком случае, в C++ Builder 6 оно работает. Может быть, в более поздних версиях что-то изменили.
1
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 09:41  [ТС]
Цитата Сообщение от NiTan Посмотреть сообщение
Да вот нет, не для формальности. Это свойство отвечает за цвет фона StringGrid'а. Во всяком случае, в C++ Builder 6 оно работает. Может быть, в более поздних версиях что-то изменили.
точняк в 6-ом работает - тогда вопрос как сделать чтобы в 2010 заработало
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.08.2011, 10:13
стиль кажется там поле называется, или что то типа того, там примерно 3-4 варианту
1
33 / 32 / 2
Регистрация: 26.01.2009
Сообщений: 592
29.08.2011, 10:33  [ТС]
Все разобрался наконец то Свойство DrawingStyle есть. Всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2011, 10:33
Помогаю со студенческими работами здесь

Как соединить StringGrid с другим StringGrid (Rad xe8)
Здраствуйте. Проблема заключается в следующем: Есть таблица которая указана на 1 изображении дание с которой нада синхронизировать с...

Сохранение из StringGrid массива в файл и загрузка из файла в StringGrid
Всем доброго времени суток =) У меня есть загрузка массива из StringGrid на Delphi 2010: //загрузка из файла procedure...

Есть 2 StringGrid в С++ Builder, и нужно взять оттуда данные и заполнить ими 3 StringGrid, как бы сложить 2 та
Код C++ void __fastcall TForm1::Button1Click(TObject *Sender) { int i,j; float p,p1; for (i = 0; i &lt; 48; i++) { ...

Перенос данных из одного StringGrid в другой StringGrid
Здравствуйте . Есть очередной вопрос с матрицами. Есть два StringGrid. В одном столбце первой матрицы есть цифровые значения. Есть Edit....

Возможность вручную писать данные в ячейки StringGrid и заполнение ячеек StringGrid данными из файла после нажатия кнопки
Здравствуйте! Помогите, пожалуйста. Мне необходимо сделать следующее: реализовать возможность вручную писать данные в ячейки StringGrid...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru