Привет all!
Как пролистывать (не через жо) в коде memo?
Интересует кроссплатформенный случай.
З.Ы. Гугл и поиск по форуму использовал. Честно.
Модератор: Модераторы
prom-net-pixel писал(а):Как пролистывать (не через жо) в коде memo?
For i:=0 To Memo.Lines.Count-1 Do
Memo.Lines[i]:='тыры-пыры';
procedure TForm1.UpClick(Sender: TObject);
var
cp:integer;
begin
cp:=Memo1.SelStart-Memo1.CaretPos.X-2;
if cp<0 then cp:=0;
Memo1.SelStart:=cp
end;
procedure TForm1.DownClick(Sender: TObject);
var
cp:integer;
begin
if Memo1.CaretPos.y<Memo1.Lines.Count then begin
cp:=Memo1.SelStart+2+Length(Memo1.Lines[Memo1.CaretPos.y])-Memo1.CaretPos.x;
Memo1.SelStart:=cp
end;
end;
, мы переведём курсор в конец текущей строки, а прибавив 2 (1) - на следующую строку.Length(Memo1.Lines[Memo1.CaretPos.y])-Memo1.CaretPos.x
const
{$ifDef UNIX}
EoLLen=1;
{$EndIf}
{$IfDef WINDOWS}
EoLLen=2;
{$EndIf}
Memo1.SelStart:=Memo1.SelStart+2{т.к. сам прибавляю#13#10}+length(Memo1.Lines[Memo1.CaretPos.Y]) {-Memo1.CaretPos.X в принципе можно не указывать, т.к. изначально курсор находится в начале строки};
length(Memo1.Lines[Memo1.CaretPos.Y-1])
length(Memo1.Lines[Memo1.Lines.Count])
Memo1.Text :=Memo1.Text+ fStatusText;
Memo1.SelStart:= Memo1.SelStart+length(Memo1.Lines[Memo1.CaretPos.Y])-Memo1.CaretPos.X;
Memo1.Text :=Memo1.Text+ #13#10;
Memo1.SelStart:=Memo1.SelStart+2;
Memo1.Lines.Append(fStatusText);
//Memo1.Refresh;
Memo1.Lines.Add(fStatusText)
Memo1.Lines.Append(fStatusText)
Вернуться в Обучение Free Pascal
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1