DarkStar |
Отправлено: 03.10.2004, 16:50 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Все работали с Word, каждый видел что буквы различного размера находятся на одной линии.
Теперь вопрос. Как рассчитать эту высоту для букв различного размера в Buildere, а может эти данные можно где-то прочитать из системы?. Я получил кое-кокой результат, но на некоторых размерах буквы прыгают друг от друга на один пиксель. Впринципе вполне удовлетворительно, но все же хотелось бы сделать так как в ворде. Может кто знает как это сделать. |
|
Valdemar |
Отправлено: 04.10.2004, 09:44 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Высоту букв в пикселях можно определить с помощью TCanvas::TextHeight. |
|
DarkStar |
Отправлено: 04.10.2004, 19:45 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Это не чистая высота буквы.
Может я плохо объяснил что мне надо, постараюсь нарисовать
______
______
__000_
_0__0_
_0000_
_0__0____
______ \ Вот эту величину мне надо определить.
_________/ |
|
Хлор |
Отправлено: 05.10.2004, 02:05 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 78
|
Рисуешь здорово
|
|
DarkStar |
Отправлено: 05.10.2004, 18:26 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Я старался, но ответа на вопрос так и не нашел. |
|
Valdemar |
Отправлено: 06.10.2004, 08:16 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Посмотрите структуру TEXTMETRIC. Она содержит информацию о шрифте. Ее поле tmExternalLeading задает промежуток между верхним и нижним краем соседних строк.
В книге "Создание переносимых приложений для Windows", авторы У. Мюррей, К. Паппас, есть глава посвященная шрифтам. Советую почитать, если найдете книгу. |
|
DarkStar |
Отправлено: 08.10.2004, 00:32 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Пасибо, а где эту структуру искать? В Helpе я не нашел |
|
Valdemar |
Отправлено: 08.10.2004, 07:55 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Напишите TEXTMETRIC, поставьте на него курсор и нажмите F1. Либо ищите в MS SDK Help Files, если вы их инсталировали. |
|