![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
ListBox выскакивает не около каретки в тексте, как правильно его спозиционировать?
Код:
|
![]() |
![]() |
![]() |
#2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
=))
CaretPos.X - это не координата, а номер символа; тоже с Y (номер строки) если у шрифта фиксированный размер (Lucida Console, напр.) то просто умножай на размеры шрифта (откуда брать их - не ко мне)
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#3 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
зЫ
если у тя и шрифт неизменный то размер шрифта эт вродь высота буквы а ширину подбором)))) если кто знает как это делается красивее скажите плз.
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Если рассуждать логически, то Винда знает где каретка, она же ее рисует. А в Борланде решили что нам это знать не надо и в Мемо такого нет. Я думаю тут поможет знаток API.
Или хотя бы приблизительно умножать на ширину букв, с высотой проблем быть не должно, Font.Height * CaretPos.Y, разве может еще интервал междустроковый добавить к высоте шрифта.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Не совсем так...
Alter, вот я вам рабочий вариант кода подготовил (на все случаи жизни ![]() Код:
|
![]() |
![]() |
![]() |
#6 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
кхех
код не работает. листбокс улетает куда то вправо вниз от формы
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
![]()
Все работает. Только если каретка не после последнего символа
MSDN говорит: Цитата:
Код:
Соответственно лучше предпринять меры чтобы этого не происходило |
|
![]() |
![]() |
![]() |
#8 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
ну незнаю
у меня всегда numpt.X и numpt.Y = 65535
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Могу ещё посоветовать, listBox в форму воткнуть, а вот форму уже использовать, как вы listBox используете. Это для того, что-бы при поткрк фокуса окно само закрывалось. Да и вообще, как всплывающую подсказку...
---- А вот вопрос по теме: Как вставить текст в позицию каретки? Последний раз редактировалось Altera; 31.12.2008 в 20:02. |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
В результате опытов было полученно:
Код:
Цитата:
Код:
Последний раз редактировалось Alter; 31.12.2008 в 23:00. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить окошко? | DANIЯR | Общие вопросы Delphi | 4 | 02.12.2008 01:00 |
Замена слова в текстовом редакторе | Славный | Общие вопросы Delphi | 6 | 06.06.2008 14:19 |
Автоматический скролинг в редакторе кода | Altera | Общие вопросы Delphi | 0 | 05.06.2008 16:23 |
Всплывающее окошко | Micha | Помощь студентам | 3 | 30.03.2008 13:58 |
Плавающее окошко | Маркъ | Общие вопросы Delphi | 2 | 02.04.2007 18:42 |