Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559

StringGrid, как сделать сетку оранжевого цвета между ячейками?

20.10.2016, 20:48. Показов 5618. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Много ячеек, много данных, все сливается, как сделать сетку между ячейками по толщине допустим 0,2 и закрасить в оранжевый цвет

Добавлено через 26 секунд
ну или обычного черного цвета любой толщины
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2016, 20:48
Ответы с готовыми решениями:

WPF. 3D графика. Как создать цветную сетку?!, одну сетку раскрасить в разные цвета...
Подскажите,люди добрые, как справится с WPF приложением....Чахну над XAML... Всевозможные самоучители поселили в моей голове светлую...

Как сделать отступ между ячейками ?

Переход между ячейками StringGrid-а по нажатию пробела
Как создать событие по переходу в следующую ячейку stringgrid по нажатию пробела?

24
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
20.10.2016, 21:06
Цвет изменить без переписывания дикого объема кода нельзя: Изменить цвет сетки в DBGrid
0
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
20.10.2016, 21:19  [ТС]
как быть тогда, неужели никто не решал такой вопрос, может как то исхитриться можно
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
20.10.2016, 21:39
Я по ссылке написал, как можно: перерисовывай вручную весь грид. Устраивает такое решение?
0
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
20.10.2016, 21:40  [ТС]
устраивает любое, лишь бы работало, подскажешь как именно ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
20.10.2016, 22:03
Нет. Мне 400 строк кода на С++ переводить неинтересно, с бубном танцевать, чтобы заставить дельфийский код с минимальными изменениями работать - тем более. Мне проще взять и поменять VCL-тему приложения, и оно станет фиолетовым в крапинкусиним или черным с оранжевой подсветкой, с очень четко видимыми линиями между ячейками.

P.S. Чтобы зря не искать - это присутствует, начиная с RAD XE.
0
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
30.10.2016, 07:51  [ТС]
Мне проще взять и поменять VCL-тему приложения, объясни пжлста как это сделать ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
30.10.2016, 11:08
Зайти в настройки проекта, на вкладку Application -> Appearance, и выбрать нужный стиль
1
72 / 61 / 24
Регистрация: 20.09.2016
Сообщений: 559
31.10.2016, 08:34  [ТС]
Спасибо, прикольно получается, но это не то что мне нужно)
0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
31.10.2016, 09:40
Можешь кинуть скрин того что ты хочешь получить. В свое времяизменял отображение ячеек в TDBGrid, а он наследуется от StringGrid. Может и помогу чем
1
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
31.10.2016, 18:28
Лучший ответ Сообщение было отмечено Dias606 как решение

Решение

Много ячеек, много данных, все сливается, как сделать сетку между ячейками по толщине допустим 0,2 и закрасить в оранжевый цвет
Если переопределить метод рисования (OnDrawCell) содержимого ячеек, то можно раскрасить его как угодно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
  StringGrid1->Canvas->Pen->Width=1;
  StringGrid1->Canvas->Pen->Color=clRed;
  StringGrid1->Canvas->MoveTo(Rect.right, Rect.top);
  StringGrid1->Canvas->LineTo(Rect.right, Rect.bottom);
 
  StringGrid1->Canvas->Pen->Width=3;
  StringGrid1->Canvas->Pen->Color=clBlue;
  StringGrid1->Canvas->MoveTo(Rect.left,  Rect.bottom);
  StringGrid1->Canvas->LineTo(Rect.right, Rect.bottom);
}
ну или обычного черного цвета любой толщины
Если необходимо просто изменить ширину линий, то можно воспользоваться свойством объекта GridLineWidth
Миниатюры
StringGrid, как сделать сетку оранжевого цвета между ячейками?  
2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
31.10.2016, 18:33
Если попробовать рисовать при разрешенных Runtime Themes, а не на древнем BCB6 в стиле Win95 - то все будет далеко не так радужно и просто.

Добавлено через 39 секунд
Цитата Сообщение от Dias606 Посмотреть сообщение
но это не то что мне нужно)
Ты же ничего не сказал, что именно тебе нужно, как я должен догадаться?
0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
01.11.2016, 08:50
Какая разница где рисовать? Здесь чистая win-api реализация в обертке борланда. При желании можно адаптировать под любой стиль.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
01.11.2016, 10:16
При желании можно адаптировать под любой стиль.
Пробовал? Попробуй, потом скажешь, осталось у тебя желание после всех этих наворотов продолжать извращаться, или нет. На словах всегда все просто...
0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
01.11.2016, 14:00
Пробовал? Попробуй, потом скажешь, осталось у тебя желание после всех этих наворотов продолжать извращаться, или нет. На словах всегда все просто...
А что здесь пробовать? Если будет необходимость или у кого-то вопрос, будем делать
В топике был конкретный вопрос, а вот ваши на него ответы
Цвет изменить без переписывания дикого объема кода нельзя: Изменить цвет сетки в DBGrid
Мне 400 строк кода на С++ переводить неинтересно,
Я же показал простую реализацию. Что не так-то?
Я практик и делюсь теми знаниями, что использовал в своих программах, а не отправляю к источникам оставив человека наедине с его проблемой
0
01.11.2016, 15:24

Не по теме:

Цитата Сообщение от dstar Посмотреть сообщение
Я же показал простую реализацию. Что не так-то?
А какая логика программы, при изменении цвета ? Это как-то может повлиять на ее логику ? Она станет работать по-другому, быстрее, правильнее ?? Как по мне - это просто "хотелка" юзверя, и убивать кучу времени на решение никому ненужной проблемы - вот это уже утопия. Сделать можно все что угодно, даже руку сломать. Но какой будет в этом смысл ? Каждый тратит свое время - по-своему!

0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
01.11.2016, 16:58
А какая логика программы, при изменении цвета ? Это как-то может повлиять на ее логику ? Она станет работать по-другому, быстрее, правильнее ?? Как по мне - это просто "хотелка" юзверя, и убивать кучу времени на решение никому ненужной проблемы - вот это уже утопия. Сделать можно все что угодно, даже руку сломать. Но какой будет в этом смысл ? Каждый тратит свое время - по-своему!
Причем здесь логика? Есть вопрос, на него дан ответ, причем на него не было убито кучу времени. Если следовать вашему изложению то внешний вид программного обеспечения совсем не играет никакой роли, вот только некоторые вкидывают в это немало средств чтобы сделать из убогого интерфейса и стандартных компонент что-то презентабельное. Программное обеспечение - это не только бизнес-логика, а еще и внешний интерфейс. Я не думаю, что Вы сами работаете с восьмибитовой палитрой операционной системы (ведь так быстрее), а возможно используете и полупрозрачность отображения окон.
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.11.2016, 09:08
Цитата Сообщение от dstar Посмотреть сообщение
Я не думаю, что Вы сами работаете с восьмибитовой палитрой операционной системы (ведь так быстрее), а возможно используете и полупрозрачность отображения окон.
Еще раз доказывает, что вы не в теме . Почему-то большинство качественных утилит пишется для консоли, а не со всякими "рюшечками" и "украшательствами". Организации интерфейса уделено много внимания в плане юзабилити и эргономики, а не тупо накидать кучу компонент куда попало. К тому же дали ответ - переписывать кучу кода. Кому это нужно - тот пусть и занимается.
0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
02.11.2016, 10:15
Читайте внимательно топик. Про переписывание кода было не моим ответом. Еще раз повторюсь. Был вопрос. Значит это кому-то нужно. На него дан ответ. И давайте закроем эту тему. Если хотите что-то сказать - пишите в личку. С радостью Вам отвечу.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
02.11.2016, 10:38
Если хотите что-то сказать - пишите в личку.
Если не хотите проблем - перечитайте Правила форума. Начать можно с 4.6... Не надо устраивать из форума частный чатик.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2016, 10:38
Помогаю со студенческими работами здесь

Какая функция перемещает фокус между ячейками в StringGrid?
Хочу переопределить навигацию по Grid, чтобы по вводу фокус переходил на следующую ячейку. Как некручу невыходит, данные загнать легко, а...

Как сделать зависимость между ячейками в строке Access 2016
Надо достать из ячейки "цена" значение и дублировать его в ячейку "текущая задолжность" чтобы не было других значений из других строк...

Сделать линию между ячейками TStringGrid толщиной в один пиксел
На форме не запущенного приложения - вроде тонкая линия, а как запускается - пиксела 2-3 точно, а там схема под ней...надо тоньше...

Как сделать переход цвета между фото в Photoshop
Как сделать переход цвета между фото подскажите пожалуйста???(в фотошопе)

Связь между ячейками. Как?
Здравствуйте! Имею два ряда данных: к примеру Х и У. Каждому Х соответствует свой У. Появилась необходимость упорядочить все Х по...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru