Вопрос № 20733: День добрый!!!
Помогите решить проблемы:
1. При клике на RichEdit'е нада получить строку над которой произведён клик.
2. В месте где находится стока создать например кнопку. Кнопку создавать умею, а как получить координаты строки (не в ря...Вопрос № 20737: вопрос конечно глупый но всё таки, Как сделать так что бы при вводе текста в, который выходит за пределы рамки memo появлялась полоса прокрутки?...
Вопрос № 20733
День добрый!!!
Помогите решить проблемы:
1. При клике на RichEdit'е нада получить строку над которой произведён клик.
2. В месте где находится стока создать например кнопку. Кнопку создавать умею, а как получить координаты строки (не в ряд, столбец , а в координатах)???
В итоге должно получится, что при клике на строке поверх строки появляется кнопка содержащая в Caption'е эту самую строку.
Отправлен: 12.05.2005, 13:15
Вопрос задал: heckfy (статус: Посетитель)
Всего ответов отправлено: 4
Отвечает: X
Здравствуйте, heckfy!
Можно сделать так. Сдесь рисуются прямоугольники иколо richedit-а.Константу с надо изменять для каждого шрифта.Я вычислял её так: я поставил в richedit-е цифры от 1 до 15, они заняли 200 пикселей в высоту.200/15=3.(3)
Приложение:
Ответ отправил: X (статус: 3-ий класс)
Отправлен: 12.05.2005, 15:19
Отвечает: corsar
Здравствуйте, heckfy!
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var P : TPoint;
begin
SendMessage(RichEdit1.Handle,EM_POSFROMCHAR,integer(@P),RichEdit1.SelStart);
//P - координаты выбранного символа относительно клиентской области RichEdit1
Ответ отправил: VBA (статус: 2-ой класс)
Отправлен: 13.05.2005, 12:34
Вопрос № 20737
вопрос конечно глупый но всё таки, Как сделать так что бы при вводе текста в, который выходит за пределы рамки memo появлялась полоса прокрутки?
Отправлен: 12.05.2005, 14:31
Вопрос задал: zeromaps (статус: 3-ий класс)
Всего ответов отправлено: 10
Отвечает: Александр, П
Здравствуйте, zeromaps!
У memo есть свойство ScrollBars. Там выставить можно какие полосы будут появляться
Ответ отправил: Александр, П (статус: 1-ый класс)
Отправлен: 12.05.2005, 14:56
Отвечает: Jadd
Здравствуйте, zeromaps!
Да очень просто. Нужно в свойстве ScrollBar выставить Both. Изучайте компоненты внимательно.
Ответ отправил: Jadd (статус: 3-ий класс)
Отправлен: 12.05.2005, 16:09
Отвечает: corsar
Здравствуйте, zeromaps!
Memo1.ScrollBars:=
Варианты:
ssNone
ssHorizontal
ssVertical
ssBoth
Если есть горизонтальная полоса прокрутки, то текст, не влезший в окошко переноситься на новые строки не будет, а будет возможность его прокрутить
Ответ отправил: corsar (статус: 2-ой класс)
Отправлен: 12.05.2005, 18:52
Отвечает: CJ
Здравствуйте, zeromaps!
У memo есть свойство ScrollBars, вот и измени его на ssBoth.
Ответ отправил: CJ (статус: Студент)
Отправлен: 12.05.2005, 21:37
Отвечает: sir henry
Здравствуйте, zeromaps!
Для этого надо отслеживать размер строки. Как только она достигает размера мемо, то делайте так:
TMemo.ScrollBars:=ssHorizontal;
Отслеживать можно с помощью свойства TMemo.CaretPos.
Может быть сделать проще и сразу, при проектировании, вставить полосу прокрутки? По-моему, вид она нисколько не портит. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 13.05.2005, 05:32
Отвечает: Ballon
Здравствуйте, zeromaps!
Там в инспекторе объектов на вкладке свойства есть свойство ScrollBars которое может принимать значения ssBoth, ssHorizontal, ssNone, ssVertical. Надеюсь понятные каждое из значений.
Ответ отправил: Ballon (статус: 2-ой класс)
Отправлен: 13.05.2005, 11:30
Отвечает: VBA
Здравствуйте, zeromaps!
У компонента Memo есть свойство ScrollBars.
Возможные значения:
ssNone -нет полос прокрутки
ssVertical - только вертикальная полоса прокрутки
ssHorizontal - только горизонтальная полоса прокрутки
ssBoth - обе полосы прокрутки.
Если хочешь, то можно отслеживать длину строки и только тогда устанавливать это свойство.
Ответ отправил: VBA (статус: 2-ой класс)
Отправлен: 13.05.2005, 12:48
Отвечает: And1
Здравствуйте, zeromaps!
Свойство ScrollBars - в значение ssBoth
Ответ отправил: And1 (статус: 2-ой класс)
Отправлен: 14.05.2005, 16:03