Главная страница
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.016 c
3-93801
ec
2004-02-03 16:27
2004.02.29
DBComboBox


4-94235
BaDeVlad
2003-12-22 09:05
2004.02.29
Окно в BackGround е


1-94005
Rog
2004-02-16 13:01
2004.02.29
Как сохранить большой массив со строками


14-94192
Ihor Osov'yak
2004-02-05 17:29
2004.02.29
Тема курсового по ОПП..


6-94061
alexEagle
2003-12-24 14:23
2004.02.29
Почему Socket.Close прибивает данные по Socket.Data