![]() |
|
|
![]()
|
|
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Возникла следующая проблема, есть DBGridEh.TitleLines = 2 ~ 33 пиксела. Когда заголовок колонки слишком длинный, то он разъезжается больше чем на две строки, что плохо смотриться в интерфейсной части. Для исправление этой проблемы я хочу добавить функцию, которая для проблемных колонок, увеличивала бы ширину колонки на нужную велчину, чтобы заголовок мог разместиться на 2 строках. Мне, кажется, алгоритм должен быть такой:
В цикле пробегам по каждой колонке и узнаем на скольких строках разместился заголовок колонке, если на двух, то переходит к следующей колонке, в противном случае делаем анализ: 1) Узнаем на скольких строках разместился заголовок CountLines := Column.Width div sizeSymb*Length(Title): встает вопрос как узнать размер символа - sizeSymb. Это сообщение отредактировал(а) Delphist - 25.12.2007, 15:33 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
я новичок,но логика моя была бы проста-на время поменять заголовок в колонке на один символ и прочитать ширину колонки,после чего вернуть старое название.
Это сообщение отредактировал(а) Lunatikus - 25.12.2007, 15:41 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
-------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Размер шрифта в 100 пунктов - это 62,6 пикселя
Добавлено через 59 секунд только это нужно считать каждый отдельный символ, буква "Ш", например - это 88,9 пикселя |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
у TCanvas есть фунция TextExtent она возврощает размеры строки с учетом шрифта
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |