:: MVP ::
|
|
:: RSS ::
|
|
|
Как изменить способ выделения текста?
uses
SynEditTypes;
procedure TForm1.Button1Click(Sender: TObject);
begin
SynEdit1.SelectionMode := smNormal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SynEdit1.SelectionMode := smLine;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
SynEdit1.SelectionMode := smColumn;
end;
|
Как изменить цвет/фон выделения текста?
procedure TForm1.Button1Click(Sender: TObject);
begin
// Цвет выделителя
SynEdit1.SelectedColor.Background := clBlack;
// Цвет текста
SynEdit1.SelectedColor.Foreground := clLime;
end;
|
Как задать формат отступов?
uses
SynEditTypes;
procedure TForm1.Button1Click(Sender: TObject);
begin
// В качестве отступов будут использоваться пробелы
SynEdit1.Options := SynEdit1.Options + [eoTabsToSpaces];
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// В качестве отступов будут использоваться символы табуляции
SynEdit1.Options := SynEdit1.Options - [eoTabsToSpaces];
end;
|
Как выделить некоторые строки другим цветом?
procedure TForm1.SynEdit1SpecialLineColors(Sender: TObject; Line: Integer;
var Special: Boolean; var FG, BG: TColor);
begin
if Line mod 2 = 0 then
begin
Special := True;
BG := clMaroon;
FG := clWhite;
end;
end;
|
Как выделить слово под курсором?
uses
SynEditTypes;
procedure TForm1.SynEdit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
Word: string;
WordStart, WordEnd: Integer;
begin
Word := SynEdit1.GetWordAtRowCol(
TBufferCoord(SynEdit1.PixelsToRowColumn(X, Y))
);
WordStart := SynEdit1.RowColToCharIndex(
SynEdit1.WordStartEx(
BufferCoord(SynEdit1.PixelsToRowColumn(X, Y).Column,
SynEdit1.PixelsToRowColumn(X, Y).Row
)
)
);
WordEnd := SynEdit1.RowColToCharIndex(
SynEdit1.WordEndEx(
BufferCoord(SynEdit1.PixelsToRowColumn(X, Y).Column,
SynEdit1.PixelsToRowColumn(X, Y).Row
)
)
);
if Word <> '' then
begin
SynEdit1.SelStart := WordStart;
SynEdit1.SelEnd := WordEnd;
end
else
begin
SynEdit1.SelStart := 0;
SynEdit1.SelEnd := 0;
end;
end;
|
Как вставить текст в позицию каретки?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
begin
SynEdit1.InsertBlock(SynEdit1.CaretXY, SynEdit1.CaretXY, 'test', True);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
begin
// Если в SynEdit нет выделенного фрагмента,
// текст будет вставлен в позицию каретки
SynEdit1.SelText := 'test';
end;
// Способ третий
uses
SynEditKeyCmds;
procedure TForm1.Button1Click(Sender: TObject);
begin
SynEdit1.CommandProcessor(ecImeStr, #0, PChar('test'));
SynEdit1.SetFocus;
end;
|
Как изменить регистр слова под каретрой?
uses
SynEditKeyCmds;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Возможные варианты:
// ecUpperCase, ecLowerCase, ecToggleCase, ecTitleCase
SynEdit1.CommandProcessor(ecUpperCase, #0, nil);
SynEdit1.SetFocus;
end;
|
Как изменить регистр выделенного тектса?
uses
SynEditKeyCmds;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Возможные варианты:
// ecUpperCaseBlock, ecLowerCaseBlock,
// ecToggleCaseBlock, ecTitleCaseBlock
SynEdit1.CommandProcessor(ecUpperCaseBlock, #0, nil);
SynEdit1.SetFocus;
end;
|
При использовании материала - ссылка на сайт обязательна
|
|