Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Программно подсветить строку.   Найти похожие ветки 

 
Jeka   (2005-01-12 15:15) [0]

Скажите вот в TListBox можно подсветить строку написав:
Form1.ListBox.ItemIndex := номер строки!
А как сделать тоже самое в TMemo?


 
Александр Иванов ©   (2005-01-12 15:18) [1]

Memo1.SelStart:=
Memo1.SelLength:=
Memo1.SetFocus;


 
Orc ©   (2005-01-12 15:20) [2]

Ставишь курсор на начало искомой строки:

Memo1.JumpTo(n,0);

И делаешь что-то типа (если память не изменяет)

Memo1.SelStart:=0;
Memo1.SelLength:=100;


 
Jeka   (2005-01-12 15:21) [3]

тогда встречный вопрос:
вот мне известно только номер строки - как мне узнать начальный и конечный номер символа?


 
Александр Иванов ©   (2005-01-12 15:30) [4]

Jeka   (12.01.05 15:21) [3]
result:=0;
for i:=0 to Min(Memo1.Lines.Count-1,Number) do
result:=result+Length(Memo1.Lines[i]);
Result:=Result+Number*2;

Result - номер первого символа, строки Number


 
KSergey ©   (2005-01-12 15:31) [5]

> [2] Orc ©   (12.01.05 15:20)
> Memo1.JumpTo(n,0);

А можно подробнее?
Или это после D5 появилось?

> [3] Jeka   (12.01.05 15:21)
> тогда встречный вопрос:
> вот мне известно только номер строки
> как мне узнать начальный и конечный номер символа?


n := Memo1.Perform(EM_LINEINDEX, {номер строки с 0}, 0);
if n >= 0 then // тогда нет ошибок, в n = номер символа
 

> конечный номер символа?

Можно попробовать тоже самое, но строку на 1 больше передать и откакиться назад за 2 (обычно) символа перевода строки


 
KSergey ©   (2005-01-12 15:33) [6]

Даже вру в [5]
Тогда надо EM_LINELENGTH применить аналогичным образом


 
KSergey ©   (2005-01-12 15:34) [7]

в [6] имеется в виду вторая часть из [5], т.е. по поводу конечного символа


 
begin...end ©   (2005-01-12 15:35) [8]

> [6] KSergey ©   (12.01.05 15:33)

Можно и Length(Memo.Lines[...]).


 
Jeka   (2005-01-12 15:42) [9]


> Александр Иванов


не отрабатывает Memo1.SetFocus;

Form1.Memo1.SelStart:=2;
Form1.Memo1.SelLength := 3;
Form1.Memo1.SetFocus;


 
Александр Иванов ©   (2005-01-12 15:43) [10]

Не отрабатывает - это как? Что происходит?


 
Jeka   (2005-01-12 15:47) [11]

вообще ничего!
даже если выделяю текст вручную, то после выполнения тех строчек теряеться выделение.

P.S я ети 3 строчки вписал в обработчик кнопки и хочу чтоб выделялся текст, когда я нажал на кнопку!


 
KSergey ©   (2005-01-12 16:02) [12]

Возможно, попадает на переводы строк
Попробуй в Memo внести текст в первую же строку длиной не менее 6 символов


 
Александр Иванов ©   (2005-01-12 16:06) [13]

KSergey ©   (12.01.05 16:02) [12]
Даже если встречаются переводы должно работать корректно


 
KSergey ©   (2005-01-12 16:11) [14]

> [13] Александр Иванов ©   (12.01.05 16:06)
> Даже если встречаются переводы должно работать корректно

А оно и работает корректно, я думаю
Просто может там в Memo вбиты 10 пустых строк вначале? Или того прикольнее - там большой текст и Memo проскроллирован в конец ;)


 
Jeka   (2005-01-12 16:23) [15]

у меня всего там 2 строчки в каждой по 10 символов!


 
Neznaika ©   (2005-01-12 16:53) [16]


> не отрабатывает Memo1.SetFocus;
>                        <_____
> Form1.Memo1.SelStart:=2;     |
> Form1.Memo1.SelLength := 3;  |
> Form1.Memo1.SetFocus;--------



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

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

Наверх




Память: 0.5 MB
Время: 0.023 c
1-1105009509
XAdmin
2005-01-06 14:05
2005.01.23
Показ значения переменной в виде сообщения


10-1081131338
niko4543
2004-04-05 06:15
2005.01.23
Word.


6-1099332787
oleg_SYS
2004-11-01 21:13
2005.01.23
Indy &amp; SSL


3-1103276807
Sergo
2004-12-17 12:46
2005.01.23
DbLookupComboBox


10-1081406544
serg128
2004-04-08 10:42
2005.01.23
В чем принципиальная разница между DCOMConnection и SocketConnect