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

Вниз

Как выделить всю строку на которой находится курсор (в memo и ric   Найти похожие ветки 

 
Гиричев Руслан ©   (2004-02-16 20:59) [0]

Здравствуйте Мастера!
Не могли бы вы помочь с одной задачей? Как выделить всю строку на которой находится курсор (в memo и richedit)?
Буду очень признателен!


 
Defunct ©   (2004-02-17 02:17) [1]

Этот фрагмент вам поможет

Const
WM_USER = $0400;
EM_EXSETSEL = WM_USER + 55;

Type

TCharRange = record
cpMin: Longint;
cpMax: LongInt;
end;

TForm1 = Class(TForm)
RichEdit : TRichEdit;
..
Procedure Button1Click(Sender:TObject);
Public
Function LocateCharPos(ACol,ARow:Integer):Cardinal;
Procedure SetSel(SelStart, SelEnd:Integer);
End;

....
Implementation

Function TForm1.LocateCharPos(ACol,ARow:Integer):Cardinal;
Var I, CharPos:Integer;
Begin
If (ARow<=RichEdit.Lines.Count) Then
If (ACol<Length(RichEdit.Lines.Strings[ ARow ])) Then
Begin
Result := ACol;
For I:=0 To ARow-1 Do
Begin
Result := Result + Length(RichEdit.Lines.Strings[i])+2
End;
End Else Result := 0;
End;

Procedure TForm1.SetSel(SelStart, SelEnd:Integer);
Var CharRange: TCharRange;
Begin
CharRange.cpMin := SelStart;
CharRange.cpMax := SelEnd;
SendMessage(RichEdit.Handle, EM_EXSETSEL, 0, Longint(@CharRange));
End;

procedure TForm1.Button1Click(Sender: TObject);
Var Line,L :Integer;
begin
Line := LocateCharPos( 0, RichEdit.CaretPos.Y);
L := Length(RichEdit.Lines.Strings[RichEdit.CaretPos.Y]);
SetSel(Line, Line+L);
RichEdit.SelAttributes.Style := [fsBold];
end;


 
Гиричев Руслан ©   (2004-02-17 16:01) [2]

Сэнкю вэри дзякуй! Всмысле - спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-93953
BlackTiger
2004-02-17 17:24
2004.02.29
Как при Enable:=false текст был бы нормального цвета?


6-94065
Danilin
2003-12-23 16:07
2004.02.29
Метод BeforeNavigate2


8-94031
GIL
2003-10-27 17:23
2004.02.29
Немигающие картинки


1-93948
morev_s_a
2004-02-17 18:19
2004.02.29
Как напечатать несколько графиков на одной странице?


11-93832
Кладов
2003-06-07 14:17
2004.02.29
Версия 1.76