|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 76
|
|
Выравнивание в ячейке StringGrid по нажатию по кнопке19.06.2017, 08:22. Показов 6222. Ответов 47
Метки нет (Все метки)
Как сделать чтобы по нажатию на по кнопке в выделенной ячейке выравнивался текст 3 кнопки (левый край, центр, правый край)
P.S. Как в Excel Заранее спасибо
0
|
|
| 19.06.2017, 08:22 | |
|
Ответы с готовыми решениями:
47
StringGrid: автоматически переходить к правой или нижней ячейке по нажатию Enter
|
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 76
|
||||
| 19.06.2017, 21:07 [ТС] | ||||
|
Добавлено через 54 секунды Добавлено через 17 минут
0
|
||||
|
Айлурофил
|
||||||
| 19.06.2017, 21:46 | ||||||
|
Я обычно делаю так,
0
|
||||||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
||||||
| 20.06.2017, 09:56 | ||||||
|
Massaraksh7, интересный способ, не встречал раньше такой реализации, но у вас ну учитывается выравнивание текста по вертикали, он всегда будет в самом верху ячейки.
Чутка проабгрейдил ваш код, теперь текст по центру ячейки:
0
|
||||||
|
Айлурофил
|
|||||||
| 20.06.2017, 10:35 | |||||||
![]() Кликните здесь для просмотра всего текста
0
|
|||||||
|
|
||
| 20.06.2017, 19:49 | ||
|
Massaraksh7, ваш код пестрит таким -
((Sender as TStringGrid).... - это ухудшает читаемость. Или так With TStringGrid(Sender) Do ... или через доп-переменную, можно для понту прикрутить "абсолют". ![]() Да и процедурка-то таким макаром выходит неоправдано крупная. А так же много "магических констант" и одинаковых вызовов. Это делается так - к каждой ячейке прикрепляется объект с настройками, в том числе как выравнивать текст в конкретной ячейке, цвет фона, итд. Сама процедура OnDrawCell делает только - проверки на существование и покраску, и всё, никаких проверок условий, им там не место.Есть правда какие-то грабли в какой версии Делфи писать, в новых что-то подполомали и код работает не всегда идентично. Добавлено через 8 минут Тем более что ТС пишет: Objects[ACol, ARow].
0
|
||
|
Айлурофил
|
|
| 20.06.2017, 20:26 | |
|
0
|
|
|
3765 / 2272 / 706
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 20.06.2017, 20:56 | ||||||
|
Да зачем же так-то!? Есть же прекрасная функция DrawText, которая все что хотите с текстом сотворит:
0
|
||||||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
|
| 20.06.2017, 21:08 | |
|
Пытливый, ваш вариант уже 4-й, ТС пока ни один из предложенных не осилил.
0
|
|
|
3765 / 2272 / 706
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.06.2017, 21:13 | |
|
Ну я надеюсь, что чем меньше буковов в коде, тем меньше шанс накосячить. У меня получился самый короткий вариант. Подождемс...
0
|
|
|
|
|
| 21.06.2017, 00:25 | |
|
Massaraksh7, обращения к
Tag, обращения и сравнение Name с какими-то константами, сравнение ACol и ARow с какими-то константами - всему этому не место в OnDrawCell.А зачем в куче мест одинаковое RGB(220,255,235);? В оригинале RGB это макрос, который при компиляции заменяется на константу. В Делфи-то это сделано в виде обычной функции. Разве не удобнее читать и менять константы или глобальные переменные?Особенно сравнение с Name плохая идея. Вот поменяется имя? Добавится ещё таблица? Код-то рабочий, прям чтоб явных огрехов не нашёл, но читаемость и расширяемость пострадали. Пытливый, Практика показывает что неплохо бы проверять ещё и Assigned(Sender). Конечно если проект полностью свой, и самому такие ситуации не допускать - то не обязательно. Но в крупных командных проектах желательно. Возможно исключение бросать. Но это так, к слову.А вот рисовать через API (функция DrawText() например) на Canvas.Handle по возможности надо бы избегать - код становится непереносимым. Желательно обходиться методами Canvas. Перенос на новые строки был бы трудозатратным, а позиционирование-то несложно вручную.
0
|
|
|
3765 / 2272 / 706
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||||||||
| 21.06.2017, 00:40 | ||||||||||||
0
|
||||||||||||
|
Айлурофил
|
||||
| 21.06.2017, 01:08 | ||||
0
|
||||
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 76
|
|
| 21.06.2017, 09:00 [ТС] | |
|
напишите мне то что писать
и в 3 кнопки что писать??? Добавлено через 14 секунд напишите мне то что писать и в 3 кнопки что писать???
0
|
|
|
Айлурофил
|
|||||||
| 21.06.2017, 16:10 | |||||||
|
Добавлено через 1 час 5 минут
0
|
|||||||
|
|
|||||||||
| 21.06.2017, 18:59 | |||||||||
OnDrawCell.Хотя и не обязательно - когда у каждого грида будут свои объекты (можно сделать два типа - глобальный стиль таблицы и изменённый стиль ячейки), то не важно особенная "десятая" или нет, всё что нужно будет в ассоциированных объектах. Кликните здесь для просмотра всего текста
А можно вообще сделать у TAlignCell статические методы для нужных вычислений, и делать без проверок просто TAlignCell(Objects[ACol, ARow]).Draw(Canvas, Rect, Text);.
0
|
|||||||||
|
Айлурофил
|
|||||
| 21.06.2017, 19:19 | |||||
|
0
|
|||||
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 76
|
|
| 22.06.2017, 17:08 [ТС] | |
|
0
|
|
|
Айлурофил
|
|
| 22.06.2017, 17:29 | |
|
Какой delphi?
Добавлено через 12 минут Весь код покажите.
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 76
|
|
| 22.06.2017, 20:04 [ТС] | |
|
0
|
|
|
Айлурофил
|
|
| 22.06.2017, 20:05 | |
|
Код.
0
|
|
| 22.06.2017, 20:05 | |
|
Выравнивание в ячейке таблицы QTableView выравнивание иконки в ячейке Выравнивание элементов в ячейке таблицы Вертикальное выравнивание в ячейке TStringGrid Выравнивание QCheckBox в ячейке QTableWidget Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|