Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: 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 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
2-1161869074
Cyrax
2006-10-26 17:24
2006.11.19
Получить реальный порт UDP-сервера


1-1160572979
guav
2006-10-11 17:22
2006.11.19
forward declaration для процедурных типов


2-1162364066
jimy
2006-11-01 09:54
2006.11.19
dcu


2-1160927857
_Ламер_
2006-10-15 19:57
2006.11.19
из dll очень длинную строку без ShareMem


15-1162389352
Колдун
2006-11-01 16:55
2006.11.19
Предикаты