![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Dmitry1987 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
Как определить размер отступа (pix) от левого края текста в TEdit. Это нужно, чтобы проверить влазил ли текст в область TEdit.
Так некорректно работает:
Это сообщение отредактировал(а) Dmitry1987 - 5.6.2013, 17:00 |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
А так?
-------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Dmitry1987 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
перепутал ShowMessage местами, но смысл задачи от этого не меняется |
||||
|
|||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
А что конкретно работает не корректно? У меня вроди нормально обрабатывается. Может вся загвоздка в том, что в S, а что реально в Edit.Text?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Dmitry1987 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
Вот пример:
При наведении выводится, что текст влазит, хотя реально нет (Длина Edit'а - 121 pix). |
||||
|
|||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Ты не поверишь... На XE3 пишет что "не влазит". Какие настройки Font?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
А причём тут канва формы и ширина текста в эдите? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Если принять во внимание, что очень редко Font форм отличается от Font'a компонентов на этой форме, можно при помощи Canvas.TextWidth узнать ширину занимаемого текста. Хотя, в серьезных проектах, это может служить не более чем временной заглушкой, тем не менее это работает.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
У меня пример автора выдает "Текст не влазит", хотя он реально влазит и даже ещё чуток места осталось. ParentFont = True Вот если три буковки y убрать, тогда напишет "влазит" ![]() Это сообщение отредактировал(а) northener - 6.6.2013, 15:18 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
Я не знаю что нужно принять во внимание при вычислении ширины текста в TEdit. Д2007 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Shaggy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 2.5.2007 Где: г.Ижевск Репутация: 3 Всего: 5 |
||||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
Т.е. предлагаешь использовать возвращенный в этом сообщении RECT вместо TEdit.ClientRect? Это конечно ближе к истине. Но всё равно не решает задачу гарантировано. Хотя вру. С помощью этого сообщения действительно правильно проверяется влазит текст или нет. Это сообщение отредактировал(а) northener - 7.6.2013, 16:45 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |