0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
||||||
1 | ||||||
Controls в ячейках StringGrid. Артефакты25.03.2024, 00:08. Показов 1564. Ответов 29
Метки checkbox, combobox, controls, delphi, free pascal, lazarus, object pascal, pascal, stringgrid (Все метки)
Дорого времени суток!
Есть StringGrid. В ячейки вписаны чекбоксы и комбобоксы. При отрисовке появляются артефакты. А при прокрутке вообще жесть - в отдельных местах появляется то, чего не должно быть, или пропадает часть изображения. Если жмякнуть мышой в любом месте грида, изображение приходит в норму (ну визуально вроде норм). Если прокрутить вниз до упора, контролы в верхней части грида наползают на заголовок (т.е. если первая видимая частично ушла под титл, то контрол ложится на него), и это мышой не лечится. И по форуму лазил, и в инете гуглил... Рекомендуемые решения (по сути из всего множества найденного их было всего два) к желаемому результату не привели. Помогите, плз.
0
|
25.03.2024, 00:08 | |
Ответы с готовыми решениями:
29
Изображения в ячейках StringGrid Вычисления в ячейках StringGrid Выравнивание в ячейках StringGrid Изменение значения в ячейках stringgrid Убрать повторения в ячейках StringGrid |
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
25.03.2024, 10:59 [ТС] | 4 |
Ну ниже по коду же видно для чего. Если есть более интересное и правильное решение, приму с глубочайшим почтением.
Использовать DrawCell (что я и сам знал) и TopLeftChanged.
0
|
680 / 290 / 74
Регистрация: 07.01.2023
Сообщений: 1,202
|
|
25.03.2024, 11:30 | 7 |
Не отображать компонент в ячейке, а отрисовывать его там. Отображать, только если ячейчас перешла в режим редактирования. Посмотрите как сделан ExpressQuantumGrid
0
|
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
25.03.2024, 23:03 [ТС] | 8 |
ComboBox через SelectEditor - да, вполне нормальное решение. Ткнулся на редактирование, увидел комбик, выбрал.
А как быть CheckBox? Он то должен отображаться всегда. И далеко не всегда во всех ячейках столбца (как при выборе Columns.Items[i].ButtonStyle:=cbsCheckboxColumn). Если знаете способ, подскажите, плз.
0
|
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
25.03.2024, 23:35 [ТС] | 10 |
Картинка красивая. У меня таких тоже есть.
Но это никак не решает проблему. Как получен сей результат? В коде выше я тоже получаю нечто похожее, и в статике выглядит не хуже, и контролы рабочие. А при скроллинге опа.
0
|
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
25.03.2024, 23:53 [ТС] | 13 |
Красиво, но непонятно.
Чеки нарисованные или картинки?
0
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
|
26.03.2024, 02:11 | 15 |
CheckBox в отдельных ячейках StringGrid???
Какого же ужасного для пользователей монстра вы пытаетесь сотворить?
0
|
Massaraksh7
|
26.03.2024, 18:45
#16
|
0
|
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
26.03.2024, 20:51 [ТС] | 17 |
Спасибо за мыслю.
Дерзаю. Правда с TStringGrid.Objects ещё не работал, как то без него обходился. Картинки нарисовал, в ячейки вставил, центровку сделал. тепрь надо всё вместе как то
0
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
|
27.03.2024, 01:53 | 18 |
Не по теме: Не надо тревожить дух Вильяма нашего, Шекспира! Он уж точно не при чем.
1
|
Айлурофил
|
|
27.03.2024, 04:20 | 19 |
В событии OnDrawCell проверяется номер строки и столбца грида, если он тот, где должен быть "чекбокс", то рисуется картинка (чекнутая или не чекнутая, в зависимости от состояния, которое где-то хранится). При OnClick на соответствующей ячейке грида состояние меняется.
Собственно, всё.
1
|
0 / 0 / 0
Регистрация: 16.03.2023
Сообщений: 22
|
|
27.03.2024, 20:05 [ТС] | 20 |
Извини за вопрос, но меня за живое задело.
А как ты значения в Objeсts заталкиваешь? Справочник читал, в нете смотрел и примеры (там про картинки и фон, ну и про контролы). Пытался по аналогии - ни шиша не выходит. (я через TStrings пытался).
0
|
27.03.2024, 20:05 | |
27.03.2024, 20:05 | |
Помогаю со студенческими работами здесь
20
Перенос слов в ячейках StringGrid'a Замена значений в ячейках StringGrid Перенос текста в ячейках StringGrid Сложение значений в ячейках StringGrid Проскроллить StringGrid с компонентами в ячейках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |