Вниз
Скачать: CL | DM;

"Другие" символы в Memo   Найти похожие ветки 

← →
click   (2006-11-01 17:52) [0]

Описание:
на форме с Align=Client лежит Memo, форма с изменяемыми размерами.
Задача:
Когда при Resize формы весь текст находящейся в Memo перестанет в него (в Memo) помещаться (визуально) необходимо об этом проинформировать пользователя... (мол ты видиш не все, если растянуть - там еще текст)
скрол бары не пойдут...
есть идея: в такой ситуации в правый нижний угол Memo помещать некие символы например два треугольничка (как это реализовано в ATNotes - если кто пользовался) которые выглядят примерно так |> |>
только закрашенные естественно...
Так вот вопросы:
Как в Мемо вставить символы которых нет на клаве или вообще произвольные символы?
Как узнать какой из всех задействованных Lines в Мемо видим в самом низу, т.е. на котором заканчивается отображение текста...


← →
@!!ex ©   (2006-11-01 17:55) [1]

Теме поможет:
OnPaint
Canvas.Draw
Canvas.TextHeight
Canvas.TextWidth
Canvas.Height
Width
Height
Lines.Count


← →
@!!ex ©   (2006-11-01 17:55) [2]

Могу пример накатать за 2 wmz


← →
click   (2006-11-01 18:01) [3]


> @!!ex ©   (01.11.06 17:55) [1]
> Теме поможет:OnPaintCanvas.DrawCanvas.TextHeightCanvas.TextWidthCanvas.
> HeightWidthHeight

несомневаюсь...
если их рисовать! а если вставить как печатаемые символы???


> >>LinesCount

а вот здесь бы я на примерчик посмотрел, т.к насколько я помню это "линий всего" а не "линий сейчас видно"


← →
@!!ex ©   (2006-11-01 18:13) [4]


> несомневаюсь...
> если их рисовать! а если вставить как печатаемые символы?
> ??

А смысл? Хочеш в тексте иметь лишний символ непонятно зачем?


> а вот здесь бы я на примерчик посмотрел, т.к насколько я
> помню это "линий всего" а не "линий сейчас видно"

Надо думать. Думай как зная то что я привел узнать количество видимых строк.


← →
@!!ex ©   (2006-11-01 18:31) [5]

Вот примерчик.
http://afera-net.narod.ru/MT.rar
Условия выполняет.
Единственно есть баг с  тем, что кода удаляеш длинную строку или лишнии строки, то символ исчезает только если заставить этот участок перерисовывать.

InvalidateRect - рулит, но я баг заметил тока после того как уже залил. перезаливать влом.


← →
click   (2006-11-01 18:45) [6]

@!!ex ©   (01.11.06 18:31) [5]

Спасибо! Вероятно это все же пример с рисованием ... значит так и сделаю!
Нарисовать та я смогу а вот определить весь ли текст видим - это проблема!
Тот кусок исходника который за это отвечает случаем не в твоем распоряжении? ;) гугль рулит - я понимаю , но будет не плохо если искать не прийдется ;) Спасибо!


← →
@!!ex ©   (2006-11-01 19:19) [7]


> click   (01.11.06 18:45) [6]

В моем распоряжении.
Я этот код писал.
Сам, кста, заколебешся такое писать. ;)
Сейчас сам писал и удивлялся, СТОКА подводных камней, аж жуть. :))
...
Например у стандартной реализации Memo не предусмотрен Canvas.... :))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1162559308
проходил мимо решил заглянуть
2006-11-03 16:08
2006.11.19
StringGrid


2-1162537219
WhiteBarin
2006-11-03 10:00
2006.11.19
Как сделать чтобы при загрузке была доступна только моя программа


2-1162383769
ice321i
2006-11-01 15:22
2006.11.19
Компонент TIdFTP


5-1142938872
AlexeyT
2006-03-21 14:01
2006.11.19
Тормозит отрисовка на Bitmap-е


1-1160554311
kyn66
2006-10-11 12:11
2006.11.19
Сохранение экрана в PNG




   Наверх