![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Find in DBRichEdit [D7, Win2k]
Dell3r © (2005-10-04 17:21:00)Произвожу поиск с помощью данной процедуры:
var
Buff, P, FT : PChar;
BuffLen : Word;
begin
RxDBRichEdit1.SelStart:=1;
GetMem(FT, Length(TreeView1.Selected.Text) + 1);
StrPCopy(FT, TreeView1.Selected.Text);
BuffLen:= RxDBRichEdit1.GetTextLen + 1;
GetMem(Buff,BuffLen);
RxDBRichEdit1.GetTextBuf(Buff,BuffLen);
P:= Buff + RxDBRichEdit1.SelStart + RxDBRichEdit1.SelLength;
P:= StrPos(P, FT);
if P = NIL then MessageBeep(0)
else
begin
RxDBRichEdit1.SelStart:=1;
RxDBRichEdit1.SetFocus;
RxDBRichEdit1.SelStart:= P - Buff;
RxDBRichEdit1.SelLength:= Length(TreeView1.Selected.Text);
end;
FreeMem(FT, Length(TreeView1.Selected.Text) + 1);
FreeMem(Buff,BuffLen);
RxDBRichEdit1.SetFocus;
И вот тут начинаются проблемы, как найденную строку переместить на самый верх?
12DFBDD (2005-10-05 08:11:00) [1]Не переводит строку в новую позицию без сообщения
procedure MemoCursorTo(Memo:TMemo; MemoLine, MemoCol: Integer);
begin
Memo.SelStart := SendMessage (Memo.Handle, EM_LINEINDEX, MemoLine, 0)
+ MemoCol - 1;
end;
это ?
ну не знаю